jQuery 中的事件冒泡、事件捕获的一些细节

如有错误,欢迎批评指正! 

 

JavaScript 中的事件处理机制

这个部分比较简单,不详细讲了

 

jQuery 中的事件处理机制、事件默认行为

事件冒泡

  • 浏览器大部分的事件都是支持冒泡的,只有少数事件不支持,比如:focus、blur。针对的,jQuery 中有focusin、focusout支持冒泡。
  • 有两种方法可以取消绑定事件的事件冒泡:
    1. event.stopPropagation(); (该方法对 trigger 自定义事件同样有效。因为从jQuery 1.3 开始,trigger 事件会在 DOM 树上冒泡)
    2. return false(可以简写 false,它同时可以阻止事件的默认行为) 

事件捕获

  • jQuery 不支持事件捕获。如需使用,请使用原生 js

事件默认行为

  • 取消事件默认行为:event.preventDefault()

代码&总结

$('.wrapper').on('click', function(event) {
    event.stopPropagation();    // 方法一:stop.stopPropagation()
});

$('.wrapper').on('click', function() {
    return false;    // 方法二:return false;
}); 

$('.wrapper').on('click', false);    // 方法二(简写):false

参考链接

  1. 浅析jQuery中的事件冒泡
  2. .on()
  3. trigger(type,[data])
  4. event.stopPropagation()

你可能感兴趣的:(jQuery,javascript)