我认为这是一个无辜的问题,但实际上我仍然不知道答案。
我们都知道事件冒泡会将事件引导到其预定目标,它的工作原理如下:当单击按钮时,事件会被引导到该按钮。如果该对象设置了事件处理程序,则触发事件。如果该对象未设置事件处理程序,则事件会向上冒泡(就像水中的气泡)到对象的父级。
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'标签时,为什么我没有收到alert(11111)? 为什么事件冒泡没有被触发,有哪些方法可以通过代码访问事件冒泡?
还请参考Fiddle链接