jQuery中阻止事件的蔓延
事件按照DOM的层次结构,从枝节点到根节点传递的过程就形成事件的蔓延。事件的蔓延可能会引起预料之外的结果。例如:本想只触发某个元素的click事件。然而由于该元素的父元素也定义了click事件的事件处理程序,因此,父元素的click事件也会被触发。所以有必要对事件的作用范围加以限制,以阻止事件的蔓延。
jQuery中阻止事件的蔓延有两种方式,但是也不限于这两种。
1、通过事件对象EventObj的方法stopPropagation()停止蔓延。
2、在事件处理方法中返回false来取消事件的蔓延。
示例:
jQuery中防止事件蔓延
(document).ready(function(evenObj){("span").click(function(eventObj){//span元素绑定click事件
alert("The span element was clicked.");
//eventObj.stopPropagation();//停止事件的扩散
return false;//停止事件的扩散
});
("p").click(function(eventObj)//p元素绑定click事件alert("Thepelementwasclicked.");returnfalse;//停止事件的扩散);
("div").click(function(){//div元素绑定click事件
alert("The div element was clicked.");
});
});