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

Mik*_*ace 13 jquery cross-browser event-handling jquery-events

有了这个HTML

<div>
  <button>
    <img src="https://img.skitch.com/20110912-1m2qj31m7sxmh46uheef63gutu.gif">
  </button>
</div>
Run Code Online (Sandbox Code Playgroud)

和这个jQuery

$(document).ready(function() { 
  $("body").live("click", function(event) {
    $("body").append(event.target.tagName);            
  });
});
Run Code Online (Sandbox Code Playgroud)

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

jsfiddle测试 - > http://jsfiddle.net/MikeGrace/YC5A7/

Bla*_*ger 4

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

根据 jQuery 文档,event.target “可以是为事件注册的元素或其后代”。因此您的结果与该方法的预期目的一致。

但是,event.currentTarget在所有浏览器中都有所需的结果: http: //jsfiddle.net/YC5A7/16/