4.2.4 事件冒泡
除了常用的事件属性之外,jQuery还提供了统一的方法,来阻止事件冒泡。
stopPropagation()方法就是用来阻止事件冒泡,preventdefaul()方法执行元素的默认行为。例如:(这个例子我没有翻译过来,现在还不明白到底要说什么)原文:
Some examples of such semantic actions are link traversal for <a> elements, forms submissions, and toggling the state of check boxes on a click event.
这里我举一个我自己写的例子:我们在做右键菜单的时候,弹出的菜单一般就是div,只是这个div漂浮在其他的元素之上,鼠标事件附近,而达到右键的效果,当我们点击这个div的时候,如果不用事件冒泡,该div下的其他元素的点击事件也会被触发,这个肯定不是我们想要的效果,这个时候就需要在div的点击事件中stopPropagation,停止事件传播。点击该div只会触发该div的点击事件,而其下边元素的点击事件不会被触发。
如果我们要停止事件冒泡,让事件回调函数返回false就行了。jQuery会执行stopPropagation(),这个是一个使用小技巧。
除了浏览器中一些操作的事件之外,比如 click , jQuery 还定义了触发事件的接口,这样就可以自定义事件,在 Ajax 全局函数中就使用了这样的办法。这里举个例子: $(‘#id’).click() ;就是触发 id 的 click 事件, jQuery 中还有一个方法: $(‘#id’).triggle(‘click’); 下一节在详细说明。