我们想要给innerHTML里的标签绑定事件的话,我想到的办法就是利用事件委托的方法,事件监听器会分析从子元素冒泡上来的事件,找到是哪个子元素的事件。
首先是我们要获得innerHTML里面的内容或者是给父元素绑定事件。
在下面的例子中比如 innerHTML中有一个img标签当我们点击img时console出他的属性
<div class="contain-style" [innerHTML]="msg.content" (click)="bigPic(msg.content)"> //将innerHTML值输出到div中
</div>
其次是事件处理函数
bigPic(msg,e){
e = e||window.event; //兼容IE8
let target = e.target||e.srcElement; //判断目标事件
if(target.tagName.toLowerCase()=="img"){
console.log(target.src)
}
}