js阻止默认事件的发生

方法一:

  如果使用的是DOM0级的事件处理程序,则可以在绑定的函数后边写return false;

  ele.onclick = function(){

    //更改后的事件处理

    return false;//默认事件阻止

  }

方法二:

  如果使用的是DOM2级的事件处理程序,则必须使用event.preventDefault()(非IE)或者event.returnValue = false;

  浏览器兼容的写法:

    function preventDefault(event){

      var event = event || window.event;

      if(event.preventDefault){

        event.preventDefault();

      }else{

        event.returnValue = false;

      }

    }

曾经小女子很疑惑为什么在DOM0可以使用return  false;的方法,但是DOM2级的方法如此复杂,就不能写一个里边含有return false;的函数,然后绑定吗?这样所有的浏览器的兼容性问题不就解决了吗?事实上,这个想法很好,但是现实很残酷……

DOM2级的方法中那个函数位置是没有返回值的,return false;也只是调用函数的返回值,DOM2级处理程序中函数参数的返回值,所以无效;

目前而言,还是觉得DOM0级的方法看着简单……

有不同喜好的人还望介绍DOM2级方法此时的优点……多谢……有错误,望指正……

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。