Firefox和Chrome的实时点击事件报告来源不同



用这个HTML

<div>
  <button>
    <img src="https://img.skitch.com/20110912-1m2qj31m7sxmh46uheef63gutu.gif">
  </button>
</div>

和这个jQuery

$(document).ready(function() { 
  $("body").live("click", function(event) {
    $("body").append(event.target.tagName);            
  });
});

为什么Chrome中的事件目标节点是图像,而Firefox中的是按钮?

jsfiddle test -> http://jsfiddle.net/MikeGrace/YC5A7/

当然,这并不局限于图像——我在http://jsfiddle.net/YC5A7/13/上调整了代码,并使用普通的超链接获得了相同的结果。

根据jQuery文档,事件。目标"可以是为事件注册的元素或它的后代"。因此,您的结果与该方法的预期目的一致。

然而,

事件。currentttarget在所有浏览器中都有期望的结果:http://jsfiddle.net/YC5A7/16/

最新更新