阻止事件冒泡和阻止浏览器默认行为

1. 阻止事件冒泡 兼容w3c浏览器

function cBubble(e){
    if(e.stopPropagation){
        e.stopPropagation();//ie9+
    }else{//ie678
        e.cancelBubble = true;
    }
}

2.阻止浏览器默认行为

function cDefault(e){
   if(e.preventDefault){//ie9+
	e.preventDefault();
   }else{//ie 678
	e.returnValue = false;
    }
};

3.阻止默认详细说明

w3c 的方法是 e.preventDefault(),
IE 则是使用 e.returnValue = false;

preventDefault它是事件对象(Event)的一个方法,
作用是取消 一个目标元素的默认行为.

既然是说默认行为,当然是元素必须有默认行为才能被取消.
如果元素本身就没有默认行为,调用当然就无效 了.
什么元素有默认行为呢?
如链接<a>,
提交按钮<input type=” submit”>等.
当Event对象的cancelable为false时,表示没有默认行为,
这时即使有默认行为,调用 preventDefault 也是不会起作用的。

上一篇:【bug霸哥日记】——禁止粘贴,把自己秀哭


下一篇:js 阻止事件冒泡和默认行为 preventDefault、stopPropagation、return false