事件捕获,事件冒泡和jQuery.on()

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

我最近了解了更多关于事件捕获和事件冒泡之间的区别以及两者如何在DOM内的子父元素之间进行不同的流动。

因此,要添加具有“事件捕获方向”的事件侦听器,我将使用:

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

并添加一个事件监听器与“事件泡沫方向”我将使用:

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

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

目前我使用的是:

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

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

你不能。 jQuery事件与事件冒泡一起使用它不支持捕获。

另见

  • 为什么jQuery事件模型不支持事件Capture并且只支持事件冒泡

您可以使用e.target获取所单击的确切元素

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