zoukankan      html  css  js  c++  java
  • 阻止默认事件

    阻止默认事件

    1.通过on这种方式的绑定的,使用return false;

    2.addEventListener绑定的,使用e.preventDefault();

    一般 为了阻止默认事件,我们都用return false,但是 如果你用了事件绑定,return false在高版本浏览其中就会失效,但是低版本浏览器中还是可以的,我们可以使用事件对象里面preventDefault()方法来去解决高版本浏览器中事件绑定了无法用return false阻止默认事件的问题。

    例如:取消鼠标右击后出现的默认菜单

    document.oncontextmenu=function()

    {

      return false;

    }

    这样在各个浏览器中,鼠标右击后,不会出现默认菜单了,但是如果用了事件绑定会怎样呢:

     事件绑定函数:

    //obj:给哪个元素加事件

    //sEv:事件名称

    //fn:执行函数

    function addEvent(obj,sEv,fn)

    {

      if(obj.addEventListener) //表示高版本浏览器

    {

        obj.addEventListener(sEv,fn,false);

    }

    else

    {

     obj.attachEvent('on'+sEv,fn)   //低版本浏览

    }

    }

    现在我们给document绑定右击事件

    addEvent(document,'contextmenu',function(){

    return false;

    })

    这时,你会发现,在高版本浏览器里面,点击鼠标右击,菜单仍然可以出现,而在低版本里面,点击鼠标右键,菜单不会出现。

    解决方法:

    addEvent(document,'contextmenu',function(ev){

     var oEvent=ev||event;

           oEvent.preventDefault && oEvent.preventDefault(); //高版本浏览器支持,低版本浏览器不支持此方法

           return false;

    })

    这样就可以完美解决绑定事件后,阻止浏览器的默认方法了,兼容各个浏览器

     
  • 相关阅读:
    修改oracle的sys、system密码
    错误随手笔记
    JS 全选
    ider向虚拟机上传jar包
    Spring中的八大设计模式
    事务的隔离级别
    hive常用函数全集
    Kafka常用命令
    字符设备驱动框架学习总结
    根文件系统熟悉(一)根文件系统构建过程记录
  • 原文地址:https://www.cnblogs.com/linsx/p/6815780.html
Copyright © 2011-2022 走看看