zoukankan      html  css  js  c++  java
  • attachEvent传递给其handler的一个默认参数

    以下文章是转 :http://www.cnitblog.com/yemoo/archive/2008/01/02/38384.html
    attachEvent是IE专有的事件捕获函数,偶也用过了很多次,传入事件名及捕获句柄(即事件处理函数)即可。

    如document.attachEvent("onclick",function(){alert('click')});代表点击页面任意位置都会弹出消息“click”。

    对于第二个参数function,确实attachEvent会默认传递过去一个参数,不知其他人有没有注意到过,反正偶是第一次发现。

    不信你就试试以下代码(单击页面任意位置):

    <script type="text/javascript">
      
    <!--
      
    function test(){
        alert(argument.length)
        alert(arguments[
    0]);
      }
      document.attachEvent(
    "onclick",test);
      
    //-->
    </script>


    执行上面的函数会分别弹出1和object。

    那这个object是什么呢?可能很多人都会猜到了,就是event对象。该event对象包含了当前触发事件的所有信息。

    执行以下测试代码(单击页面任意位置):

    <script type="text/javascript">
      
    <!--
      
    function test(){
        
    var info='';
        
    for(var i in arguments[0])
          info
    +=(i+"\t:"+arguments[0][i]+"\n<br>");
        alert(info);
      }
      document.attachEvent(
    "onclick",test);
      
    //-->
      </script>


    发现弹出了以下信息(根据你点击位置的不同显示信息会有不同):

    recordset :null
    type :click
    fromElement :null
    toElement :null
    altLeft :false
    keyCode :0
    repeat :false
    reason :0
    behaviorCookie :0
    contentOverflow :false
    behaviorPart :0
    dataTransfer :null
    ctrlKey :false
    shiftLeft :false
    dataFld :
    returnValue :undefined
    qualifier :
    wheelDelta :0
    bookmarks :null
    button :0
    srcFilter :null
    nextPage :
    cancelBubble :false
    x :328
    y :482
    srcElement :[object]
    screenX :490
    screenY :572
    srcUrn :
    boundElements :[object]
    clientX :328
    clientY :482
    propertyName :
    shiftKey :false
    ctrlLeft :false
    offsetX :326
    offsetY :480
    altKey :false



    这些信息可能有很多对我们都是有用的。但实际上个人感觉这个参数在IE中用处并不大,因为IE中Event是一个全局对象,可以直接使用event获取需要的信息。

    转载请注明出处[http://samlin.cnblogs.com/

    欢迎关注本人公众号:

    作者赞赏
  • 相关阅读:
    ARC 066D Xor Sum AtCoder
    哈尔滨理工大学---沼跃鱼(待整理)
    C#从字符串获取文件路径
    蓝桥杯---机器人行走
    关于float和double的输入输出问题
    湖南多校对抗赛---Jerry's trouble
    湖南多校对抗赛---Good subsequence
    湖南多校对抗赛---Rectangle(01背包)
    蓝桥杯---公式解析
    蓝桥杯---砝码称重
  • 原文地址:https://www.cnblogs.com/samlin/p/1034590.html
Copyright © 2011-2022 走看看