zoukankan      html  css  js  c++  java
  • event对象的兼容性

    最近在调试项目的时候,发现IE和Chrome都显示正常,就是FireFox异常,F12查看控制台,发现报错:window.event is undefined。检查代码中定义的事件方法中获取事件对象直接使用的window.event,去掉window后,IE异常,但是FF正常,坑啊。。。想当然以为全局引入了jquery,就不用做这方面的兼容,其实,只有在jquery封装的事件方法里使用event才可以不考虑兼容,其他的自己写的方法即便会在jquery的事件里调用,还是要兼容。现在总结一下,以后备用。

    1. event

       IE:直接使用event就行,为保险起见,写成window.event;
       FF:window.event要报错,提示undefined,经查询,发现要用参数引导才能使用;
       原生js兼容写法: 
     

    function foo(event){
        var evt = window.event||event;
    }

       如果有引入jquery:

      

    $(".btn").click(function(event){
        alert(event.type);
    })

    2. event.target属性: 获取触发事件的元素对象

        原生js:
       

    function foo(event){
        var evt = window.event||event;
        var targetObj = evt.target||evt.srcElement;
    }


       jquery写法:

       

    $(".btn").click(function(event){
        alert(event.target);
    })
  • 相关阅读:
    python后端面试题
    Django模块
    centos 6.x下jira显示饼图乱码解决方法
    Confluence与Jira安装及后期迁移问题记录
    SaltStack安装部署
    jumpserver跳板机(堡垒机)安装
    Python之Web前端Ajax
    python3.6下pycharm连接mysql
    Mac下安装SecureCRT客户端并激活
    Python模块之paramiko
  • 原文地址:https://www.cnblogs.com/sapho/p/6137410.html
Copyright © 2011-2022 走看看