请教各位大大
时间:2010-05-19
来源:互联网

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>hta</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<a href="#" id="link1" aaa="a">超链接link1</a>
<a href="#" id="link2" aaa="b">超链接link2</a>
<input type="button" value="attachEvent" onclick="addEvent();" />
</div>
</form>
</body>
</html>
<script type="text/javascript">
function AttachEvent(target, eventName, handler, argsObject)
{
var eventHandler = handler;
if(argsObject)
{
eventHander = function(e1)
{
handler.call(argsObject, e1);
}
}
if(window.attachEvent)//IE
target.attachEvent("on" + eventName, eventHander );
else//FF
target.addEventListener(eventName, eventHander, false);
}
function LinkClick(e)
{
alert(e.srcElement.innerHTML);
alert(this.name);
// var target = e.srcElement || e.target;
// alert(target.getAttribute('aaa'));
}
function addEvent()
{
var obj = new Object();
obj.name = "link1111";
var link1 = document.getElementById("link1");
AttachEvent(link1, "click", LinkClick, obj);
obj = new Object();
obj.name = "link2222";
var link2 = document.getElementById("link2");
AttachEvent(link2, "click", LinkClick, obj);
}
</script>
这段代码我不能理解的地方是
eventHander = function(e1)
{
handler.call(argsObject, e1);
}
这个地方,e1是怎么来的?应该是个window.event对象吧。。
查资料也查不到,请各位赐教。。谢谢
作者: d925529 发布时间: 2010-05-19
先帮你框起来- -
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>hta</title> </head> <body> <form id="form1" runat="server"> <div> <a href="#" id="link1" aaa="a">超链接link1</a> <a href="#" id="link2" aaa="b">超链接link2</a> <input type="button" value="attachEvent" onclick="addEvent();" /> </div> </form> </body> </html> <script type="text/javascript"> function AttachEvent(target, eventName, handler, argsObject) { var eventHandler = handler; if(argsObject) { eventHander = function(e1) { handler.call(argsObject, e1); } } if(window.attachEvent)//IE target.attachEvent("on" + eventName, eventHander ); else//FF target.addEventListener(eventName, eventHander, false); } function LinkClick(e) { alert(e.srcElement.innerHTML); alert(this.name); // var target = e.srcElement || e.target; // alert(target.getAttribute('aaa')); } function addEvent() { var obj = new Object(); obj.name = "link1111"; var link1 = document.getElementById("link1"); AttachEvent(link1, "click", LinkClick, obj); obj = new Object(); obj.name = "link2222"; var link2 = document.getElementById("link2"); AttachEvent(link2, "click", LinkClick, obj); } </script>
提示:您可以先修改部分代码再运行
提示:您可以先修改部分代码再运行
作者: cwq2jxl 发布时间: 2010-05-19
看了一下 完全不懂 这段JS有啥用呢?
作者: cwq2jxl 发布时间: 2010-05-19
谢了。。这段js的作用是。。动态为控件追加事件并且能传递参数。。这个不重要。。我只是想知道
eventHander = function(e1)
{
handler.call(argsObject, e1);
}
这个el是哪来的?
eventHander = function(e1)
{
handler.call(argsObject, e1);
}
这个el是哪来的?



作者: d925529 发布时间: 2010-05-19
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28