Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用于将单击事件处理程序附加到通过Html注入的链接的模式_Javascript_Reactjs - Fatal编程技术网

Javascript 用于将单击事件处理程序附加到通过Html注入的链接的模式

Javascript 用于将单击事件处理程序附加到通过Html注入的链接的模式,javascript,reactjs,Javascript,Reactjs,因此,我们正在通过危险的HTML注入HTML内容。关于将onclick事件处理程序附加到该注入HTML中的所有链接的好模式,您有什么想法吗?或者,我是否应该使用React之外的逻辑来处理此问题?这是一种方法,但危险的是,SetinenerHTML仅用于呈现普通html。这意味着您的链接应该像普通HTML中的所有普通链接一样重定向 不管怎样,这就是@zerkms所说的。 e、 g. class MyComponent extends Component { showEvent(e) {

因此,我们正在通过危险的HTML注入HTML内容。关于将onclick事件处理程序附加到该注入HTML中的所有链接的好模式,您有什么想法吗?或者,我是否应该使用React之外的逻辑来处理此问题?

这是一种方法,但危险的是,SetinenerHTML仅用于呈现普通html。这意味着您的链接应该像普通HTML中的所有普通链接一样重定向
不管怎样,这就是@zerkms所说的。
e、 g.

class MyComponent extends Component {
  showEvent(e) {
    console.log('the event:');
    console.log(e.target.id); //someDiv

  }
  someHtml() {
    return {__html: `<div id="someDiv" style="background-color:yellow;"> First Second </div>`}; 
  }
  render() {
    return <div onClick={this.showEvent} dangerouslySetInnerHTML={this.someHtml()}></div>;
  }
}
类MyComponent扩展组件{
展览活动(e){
log('事件:');
console.log(e.target.id);//someDiv
}
someHtml(){
返回{uuuhtml:`First Second`};
}
render(){
返回;
}
}
在showEvent内部,您可以验证id并采取一些操作。

希望有此帮助。

将其附加到父元素,然后检查事件目标。@zerkms我明天必须确认,您能将此作为答案提交吗?我认为这是一个重要的问题/答案。