博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
attachEvent传递给其handler的一个默认参数
阅读量:6528 次
发布时间:2019-06-24

本文共 1569 字,大约阅读时间需要 5 分钟。

以下文章是转 :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获取需要的信息。

本文转自Sam Lin博客园博客,原文链接:http://www.cnblogs.com/samlin/archive/2008/01/11/1034590.html,如需转载请自行联系原作者

你可能感兴趣的文章
oracle-xe手工创建数据库
查看>>
Cisco交换机 链路聚合
查看>>
我的友情链接
查看>>
好程序员HTML5大前端分享web前端面试题集锦二
查看>>
UG中卸载被占用的DLL
查看>>
eclipse 设置注释模板详解,与导入模板方法介绍总结
查看>>
Cocos2d-x3.2 文字显示
查看>>
估计下星期就能考科目二了
查看>>
20 Useful Commands for Linux Newbies
查看>>
轻松实现localStorage本地存储和本地数组存储
查看>>
mongodb group
查看>>
python+selenium自动化测试(二)
查看>>
(笔记 - 纯手敲)Spring的IOC和AOP 含GIT地址
查看>>
7-设计模式介绍
查看>>
让运维更高效:关于ECS系统事件
查看>>
J2EE分布式框架--单点登录集成方案
查看>>
跨域传递参数
查看>>
android 4.2的新特性layoutRtl,让布局自动从右往左显示
查看>>
iOS tableView 下拉列表的设计
查看>>
sharepoint 2010 属性编辑工具 SPCamlEditor 1.5.1
查看>>