【问题标题】:Event Capturing, Event Bubbling and jQuery.on()事件捕获、事件冒泡和 jQuery.on()
【发布时间】:2014-03-07 23:56:55
【问题描述】:

我有一个关于事件捕获冒泡jQuery.on()的有趣问题。

我最近更多地了解了事件捕获和事件冒泡之间的区别,以及两者在 DOM 中的子父元素的流入和流出方式有何不同。

所以要添加一个带有“事件捕获方向”的事件监听器,我会使用:

element.addEventListener("click", myFunction, true);

并添加一个带有“事件气泡方向”的事件监听器我会使用:

element.addEventListener("click", myFunction, false);

这一切都很好,但是我想知道的是,当使用jquery.on() 添加事件监听器时,如何在捕获和冒泡方面指定事件方向? p>

目前我正在使用类似的东西:

$('parent selector').on('click', 'child selector', function(){alert('just alert something already...');});

我如何告诉jQuery它需要在“事件捕获方向”“事件冒泡方向”添加这些事件监听器?

【问题讨论】:

    标签: javascript jquery jquery-events event-bubbling event-capturing


    【解决方案1】:

    你不能。 jQuery 事件适用于不支持捕获的事件冒泡。

    另见

    【讨论】:

    • 嗨阿伦。我想提名您为社区版主,但您缺少 convention 徽章。你接近实现它了吗? (10 篇文章在 meta 上得分 >2)。
    • @ArunPJohny 我现在明白了。 :)
    【解决方案2】:

    您可以使用 e.target 来获取被点击的确切元素

      $('.parent').on('click', function(e){
        if(e.target.classList.contains('child'))
          // do something
        }
      })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-09
      • 1970-01-01
      • 2011-06-04
      • 2017-01-13
      • 2011-03-18
      • 1970-01-01
      相关资源
      最近更新 更多