zoukankan      html  css  js  c++  java
  • 火狐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就是我。

    如果我的博客解决了你的问题,那请你给个关注吧!
  • 相关阅读:
    研究生第二学期总结
    Android应用开发EditText文本内容变化监听方法
    Android 自定义动画 Loading
    UML建模之活动图介绍(Activity Diagram)
    UML学习(二)-----类图
    UML系列图--用例图
    Lesson9 some interesting things in C#
    Lesson10 Fianl and fellings
    Lesson 7: C#多线程
    浅谈android Socket 通信及自建ServerSocket服务端常见问题
  • 原文地址:https://www.cnblogs.com/DreamSeeker/p/7485894.html
Copyright © 2011-2022 走看看