用这个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/