首页 > 代码库 > js阻止默认事件的发生
js阻止默认事件的发生
方法一:
如果使用的是DOM0级的事件处理程序,则可以在绑定的函数后边写return false;
ele.onclick = function(){
//更改后的事件处理
return false;//默认事件阻止
}
方法二:
如果使用的是DOM2级的事件处理程序,则必须使用event.preventDefault()(非IE)或者event.returnValue = http://www.mamicode.com/false;
浏览器兼容的写法:
function preventDefault(event){
var event = event || window.event;
if(event.preventDefault){
event.preventDefault();
}else{
event.returnValue = http://www.mamicode.com/false;
}
}
曾经小女子很疑惑为什么在DOM0可以使用return false;的方法,但是DOM2级的方法如此复杂,就不能写一个里边含有return false;的函数,然后绑定吗?这样所有的浏览器的兼容性问题不就解决了吗?事实上,这个想法很好,但是现实很残酷……
DOM2级的方法中那个函数位置是没有返回值的,return false;也只是调用函数的返回值,DOM2级处理程序中函数参数的返回值,所以无效;
目前而言,还是觉得DOM0级的方法看着简单……
有不同喜好的人还望介绍DOM2级方法此时的优点……多谢……有错误,望指正……
js阻止默认事件的发生