使用此
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测试 – > http://jsfiddle.net/MikeGrace/YC5A7/
解决方法
这不限于图像,当然 – 我调整了你的代码在
http://jsfiddle.net/YC5A7/13/,得到与普通的超链接相同的结果.
根据jQuery文档,event.target可以是为事件注册的元素或其后代.因此,您的结果与该方法的预期目的一致.
但是,event.currentTarget在所有浏览器中都有所期望的结果:http://jsfiddle.net/YC5A7/16/