Event Capturing, Event Bubbling and jQuery.on()

那年仲夏 提交于 2019-12-03 17:13:16

问题


I have an interesting question about event capturing, bubbling and jQuery.on().

I have recently learned more about the difference between event capturing and event bubbling and how the two flow differently in and out of the child-parent elements within the DOM.

So to add an event listener with "event capture direction" i would use:

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

and to add an event listener with "event bubble direction" i would use:

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

This is all good and well, but what I want to know is when using jquery.on() to add event listeners, how does one specifiy the event direction in terms of capturing and bubbling?

currently I am using something like:

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

How do I tell jQuery that it needs to add these event listeners in the "event capture direction" or the "event bubble direction"?


回答1:


You can't. jQuery events works with event bubbling it doesn't support capturing.

Also see

  • Why does jQuery event model does not support event Capture and just supports event bubbling



回答2:


You can use e.target to get the exact element that was clicked

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


来源:https://stackoverflow.com/questions/21680825/event-capturing-event-bubbling-and-jquery-on

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!