我认为这是一个无辜的问题,但我还不知道答案。
我们都知道,事件冒泡会将事件导向其预期的目标,它的工作方式如下:单击按钮,将事件定向到按钮。如果为该对象设置了事件处理程序,则会触发该事件。如果没有为该对象设置事件处理程序,则该事件会向对象父对象(如水中的气泡)冒泡。
Html部件
<div>
<iframe>
<a>Clickable fdf Area</a>
</iframe>
</div>
javascript部分
$('div iframe').load(function(){
var iframeBody = $(this).contents().find("body");
iframeBody.html("<a href='www.google.com'>clickable area</a>");
iframeBody.on("click", "a", function(){
alert(22222);
});
document.getElementsByTagName("div")[0].addEventListener("click", function(event){
alert(11111);
}, true);
});
$('iframe').attr("src","JavaScript:'iframe content'");
我的问题很清楚。当我试图点击iframe 'a‘标签,为什么我没有得到警报(11111)?为什么没有保持事件冒泡,以及通过代码访问事件buubling的方法是什么?
也参考琴杆
发布于 2016-10-18 13:33:50
冒泡只能通过一个文档树进行。iframe
是一个独立的文档树,因此在其树中冒泡的事件终止于iframe文档的根部,并且不会跨越边界进入宿主文档。
捕获从树顶(通常是文档)向下操作。
这种向上传播将继续到并包括文档。
https://stackoverflow.com/questions/40109631
复制相似问题