1、之所以称之为事件冒泡是指事件的响应会像水泡一样上升至最顶级对象,我们把这种情况就称之为“事件冒泡”。
示例代码:
有些情况下,事件冒泡是人为设计的,但是大多数情况下,冒泡需要禁止。
在原生Javascript代码中,有两种禁用方式:
1)IE内核浏览器
window.event.cancelBubble=true;
2)W3C内核浏览器
dom对象.事件=function(event){
event.stopPropagation();
}
在jQuery中其对W3C的支持非常好,所以jQuery中只需要通过event.stopPropagation()就可以实现对冒泡的禁止。
特别说明:运行以上程序发现,无论在IE内核浏览器还是W3C内核浏览器都可以禁止事件冒泡,由此可知,jQuery对event事件对象进行了二次封装。
2、默认行为在HTML中,有些HTML标签具有自己的默认行为。如a超级链接标签,单击后可以自动跳转到指定的url页面;如submit提交按钮,单击后自动提交表单数据到服务器端。但是大多数情况下,默认行为也是需要禁止的。在原生Javascript代码中,有两种方式禁止默认行为:1)IE内核的浏览器window.event.returnValue=false;2)W3C内核的浏览器dom对象.事件=function(event){event.preventDefault();}在jQuery中,其调整了兼容性问题,统一更改为:event.preventDefault()就可以实现对默认行为的禁止。