我对事件捕获,冒泡和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事件与事件冒泡一起使用,它不支持捕获。
也请参见
您可以使用e.target来获取被单击的确切元素
$('.parent').on('click', function(e){
if(e.target.classList.contains('child'))
// do something
}
})