使用jQuery on
时,有没有办法从处理程序中获取所选元素,而不是事件目标?例如,以下所有内容均与body
:
$('body').on('click', 'h1', function(e){
console.log(e.target);
console.log(e.currentTarget);
console.log(this);
});
答案 0 :(得分:5)
事件处理程序中e.delegateTarget
的值将是实际处理事件的元素,在您的示例中该元素将是<body>
标记。
如您所知,e.target
将设置为发起事件的对象(可能是<h1>
中的子对象)和e.currentTarget
以及{{1将设置为与您的this
选择器匹配的对象。
大多数情况下,它是与您所需的"h1"
选择器匹配的对象,但如果您想知道哪个对象拦截了该事件,则可以使用<h1>
。
jQuery文档参考:http://api.jquery.com/event.delegateTarget/