这个event.target有什么区别?
让我们说我有
$("test").click(function(e) { $thisEventOb = e.target; $this = this; alert($thisEventObj); alert($this); });
我知道警报会弹出不同的值.任何人都可以解释差异?太感谢了.
解决方法
如果您点击事件被修复的元素,它们将是一样的.但是,如果您单击一个小孩并且它有气泡,那么这是指该处理程序绑定到的元素,e.target仍然指向事件发生的元素.
你可以看到这里的区别:http://jsfiddle.net/qPwu3/1/
给出这个标记:
<style type="text/css">div { width: 200px; height: 100px; background: #AAAAAA; }</style> <div> <input type="text" /> </div>
如果你有这个:
$("div").click(function(e){ alert(e.target); alert(this); });
点击< input>将提醒输入,然后是div,因为输入源于事件,div在冒泡时处理它.但是如果你这样做:
$("input").click(function(e){ alert(e.target); alert(this); });
它会始终警告输入两次,因为它既是事件的原始元素,也是事件的原始元素.