• 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已经表示了动作的对象了。然后该怎么操作就怎么操作了。

     

  • 相关阅读:
    svn:ignore 设置忽略文件
    Css让文字自适应Table宽度[转]
    自学python笔记
    java代码中添加log4j日志
    maven多模块项目搭建
    js || 与&&
    java内存溢出和tomcat内存配置
    xsl:for-each中引用循环外全局变量
    quartz启动两次(tomcat)
    pymysql简单封装
  • 原文地址:https://www.cnblogs.com/fredshare/p/2634165.html
Copyright © 2020-2023  润新知