- 事件冒泡
结构上嵌套关系的元素会存在事件冒泡功能,即同一事件,自子元素冒泡向父元素。(自底向上) - 事件捕获
结构上嵌套关系的元素会存在事件捕获功能,即同一事件,自父元素捕获至子元素。(自顶向下)
false—>事件冒泡
true----->事件捕获
一个事件绑定两个事件处理函数,分别捕获和冒泡模型,先捕获再冒泡
focus,blur,change,submit,reset,select等事件不冒泡
阻止冒泡
var div = document.getElementByTagName('div')[0]
div.onclick = function(e){
//e.stopPropagation();
e.cancleBubble = true //IE 独有
}
//封装阻止冒泡函数
function stopBubble(){
if(e.stopPropagation){
e.stopPropagation();
}else{
e.cancleBubble = true;
}
}
阻止默认事件
默认事件:表单提交,a标签跳转,右键菜单等
1. return false ; //以对象属性的方式注册的事件才生效
2. event.preventDefault(); //W3C标注,IE9以下不兼容
3. event.returnValue = false; //兼容IE
4. //封装阻止默认事件函数
function cancelHandle(event){
if(event.preventDefault){
event.preventDefault();
}else{
event.returnValue = false;
}
}