我想将点击事件添加到内部 html 中的图像中。但是当我尝试添加它时,它不起作用。
模板
<div [innerHTML]="myHtml"></div>
代码
myHtml;
ngOnInit() {
const root = document.createElement('div');
root.innerHTML = this.getHtml();
const images = root.getElementsByTagName('img');
Array.prototype.forEach.call(images, (image: HTMLImageElement, i) => {
image.addEventListener('click', (event: any) => {
console.log('click', event);
});
});
this.myHtml = root.innerHTML;
}
最佳答案
您需要使用ngAfterViewInit()来实现这一点, 我已经修改了代码并且工作正常。
请检查链接 https://stackblitz.com/edit/angular-7da7cd
希望这有帮助。
关于javascript - 动态创建的元素上的 addEventListener 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54302087/