zoukankan      html  css  js  c++  java
  • javascript中的事件绑定兼容性问题浅析

    项目中经常遇到这样的代码:

    function changeStyle(e){
        var e = e || window.event;
        var target = e.srcElement || e.target;
        target.style.display = "none";
    }
    document.getElemntById("xxx").onclick = changeStyle;

    这里的e代表什么了,这样看,e是一个参数,当调用函数这样的一个事件函数的时候,一般实参是null,这时候如果是ie处理,e = window.event;window.event是什么了,event是window这个全局对象的一个属性,表示最后一次执行的动作。在w3c标准下处理的话,w3c有规定,如果实参为空,触发的事件会作为第一个参数传入,也就是argument[0];所以也可以这样写:

    function changeStyle(e){
        var e = argument[0] || window.event;
        var target = e.srcElement || e.target;
        target.style.display = "none";
    }
    document.getElemntById("xxx").onclick = changeStyle;

    这样e就是取到了刚刚发生的事件动作,再来看target,在ie下,e.srcElement表示事件动作的对象,在w3c标准下,e.target表示事件动作的对象。so,target已经表示了动作的对象了。然后该怎么操作就怎么操作了。

     

  • 相关阅读:
    #define中的特殊符号
    c++ windows下计时
    c++内存池
    u3d 场景资源打包
    Unity3d 动态加载材质方法
    Unity3D Shader基础教程
    Unity3D Shader入门指南(一)
    Unreal发展史
    阴影锥(shadow volume)原理与展望
    软硬RAID 和 不常见的RAID
  • 原文地址:https://www.cnblogs.com/fredshare/p/2634165.html
Copyright © 2011-2022 走看看