【问题标题】:jQuery.mouseover is returning event from nested element instead of the element where the listener is attached [duplicate]jQuery.mouseover 正在从嵌套元素返回事件,而不是从附加侦听器的元素返回事件 [重复]
【发布时间】:2013-01-01 12:14:23
【问题描述】:

可能重复:
$(this) OR event.target OR var input = $(this)

我有以下 HTML

<span>Foo <b>Bar</b></span>

以及下面的JS

$("span").mouseover(function(event) {
    ...
});

当我将鼠标悬停在 Foo $(event.target) 上时是 &lt;span&gt; 元素,但是当我将鼠标悬停在 Bar $(event.target) 上时是 &lt;b&gt; 元素

如何在不检查是否获得&lt;b&gt;然后选择父元素的情况下获得我想要的元素!?

【问题讨论】:

  • event.target 总是指事件起源的元素。 this 总是指事件处理程序绑定到的元素(嗯,不是事件委托)。就像没有 jQuery 一样。
  • 使用当前语法:$("span").on('mouseover', function(event) { ... });(不小心发布为答案。)

标签: javascript jquery html mouseover


【解决方案1】:

使用event.currentTarget。它是对具有事件侦听器的元素的引用。要获得有关事件顺序、冒泡和捕获的深入解释。值得花时间:http://www.quirksmode.org/js/events_order.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 2021-01-07
    • 1970-01-01
    • 2020-07-17
    • 1970-01-01
    • 2015-12-30
    • 2015-01-05
    相关资源
    最近更新 更多