即使单击其后代,如何检测动态生成的元素上的单击?

时间:2017-11-22 01:24:16

标签: javascript

结构<a><img></img></a>(可能更深层嵌套)是动态生成的(为简单起见,假设这是页面上唯一的内容)。我想听一下a元素上的点击事件。由于它是动态生成的,我必须将监听器附加到文档,然后检查event.target。但是,由于我感兴趣的元素有一个后代,event.target只指向图像。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

你需要向上遍历目标的父母,直到找到匹配的元素。

您可以编写findAncestor(callback)函数来使其更清洁。

或者您可以使用Element.matches() method(但要注意浏览器支持)。