我想将已点击的委托DOM元素传递给.on
event.data
属性...
所以,比如:
$('.parent-element').on('click', '.delegated-element', { self: $(this) }, function(e) {
console.log(e.data.self);
// Logs:
// $(document)
// I want:
// $('.delegated-element')
});
有没有真正的方法来实现这一目标?
我不担心,但我想我会问。 =)
PS :为了清楚起见,我知道我可以在事件本身内简单地使用$(this),但是对于我想要实现的目标,它将有助于能够通过范围。
答案 0 :(得分:1)
事件处理程序在点击任何内容之前就已绑定,因此您无需在点击之前获取所点击的元素,并将其作为数据传递,它不会以这种方式工作。< / p>
在事件处理程序中,您可以使用event.target
获取单击的元素,或者使用this
获取事件处理程序绑定的元素,甚至可以使用event.delegateTarget
3}获取委派的目标
简单地说,在事件处理程序被创建为事件数据之前,您只能传入您有权访问的内容,在事件处理程序绑定之前,您无法传递一些不可知的内容,有人触发它。