JQuery MouseUp报告CHILD元素

时间:2013-09-03 20:39:09

标签: jquery events html mouseup

我的“mouseup”事件让我感到奇怪。我在div里面有一个div。 mouseup事件附加到OUTER div,但如果我碰巧点击了INNER div,则e.target设置为子div而不是具有该事件的父div。

这是正常的吗?

<div class="parent">
    <div class="child"></div>
</div>

所以a:

$("body").on('mouseup', '.parent',myMethod);

如果e.target被精确点击,则将其报告为子项。

1 个答案:

答案 0 :(得分:1)

请注意.target.currentTarget

之间的区别
  

事件对象的此属性是调度事件的对象。在事件冒泡或捕获阶段调用事件处理程序时,它与event.currentTarget不同。

  • event.target //对最初调度事件的目标的引用。
  • event.currentTarget //对当前注册的事件目标的引用。

值得测试:

$("body").on('mouseup', '#parent1', function (e) {
    console.log(e.target,e.currentTarget);
});

演示jQuery
演示plain javascript


更多阅读:

MDN event.target
MDN event
jQuery (关于直接和委派事件的explanation