• 火狐IE event和target的兼容


    一、event对象

    IE 中可以直接使用 window.event 对象,而 FF 中则不可以,解决方法之一如下:


    var theEvent = window.event || arguments.callee.caller.arguments[0];

    第二种是将 event 作为参数来传递:


    function test(event) {
    var event = event || window.event;
    //do Something
    }

    二、关于IE下的event.srcElement和火狐下的event.target


    火狐下的e.target相当于ie下的event.srcElement,表示产生事件的源。

    例子:

    document.onclick = function(e){
    var theEvent = window.event || e;
    var srcElement = theEvent.srcElement;
    if (!srcElement) {
    srcElement = theEvent.target;
    }

    }

    三、event.keyCode 和event.which

    Mozilla下的event.which与IE下的event.keyCode相当。

    代码:

    JScript 代码 复制
    
    //IE
    <input type="text" nkeypress="doIt()">
    <script language="javascript">
     function doIt()
     {
       alert(event.keyCode);
     }
    </script>
    
    //火狐
    //经测试  调用位置必须加上event,声明处也加上event才可以使用
    <input type="text" nkeypress="doIt(event)">
    <script language="javascript">
     function doIt(oEvent)
     {
       alert(oEvent.which)
     }
    </script>
    

    四、event.x,event.y[IE]和event.pageX,event.pageY[Moz]

    IE中取鼠标点击的绝对位置,使用event对象的event.x和event.y
    Moz中取鼠标点击的绝对位置,使用event对象的event.pageX和event.pageY
    所以为了兼容,需要自己做处理

    五、event.offsetX,event.offsetY[IE]和event.pageX,event.pageY[Moz]


    IE中取鼠标点击的相对位置,使用event对象的event.offsetX和event.offsetY
    Moz中取鼠标点击的相对位置,使用event对象的event.layerX和event.layerY
    所以为了兼容,需要自己做处理,

    六、事件绑定


    事件绑定上Mozilla用addEventListener,removeEventListener
    对应IE的attachEvent,detatchEvent






    还有分享一个技术群,474471759,跟随里面的大佬一起成长,进群之后里面的JimY就是我。

    如果我的博客解决了你的问题,那请你给个关注吧!
  • 相关阅读:
    ObjectARX 打印常见问题
    【动态规划】数字游戏(game)
    容斥原理在错排问题中的应用
    在某宝上用python抢茅台
    【笔记】Vue ElementPlus Rule 数字验证
    分布式中间件Nginx(一)
    20192419万腾阳 汇编程序设计 前四章学习笔记
    20192419 202120222 《网络与系统攻防技术》实验一实验报告
    reset.css 和 normalize.css
    reset.css 和 normalize.css
  • 原文地址:https://www.cnblogs.com/DreamSeeker/p/7485894.html
Copyright © 2020-2023  润新知