【发布时间】:2014-09-04 04:54:25
【问题描述】:
这是一个查看页面上存在的链接并将mousedown 事件侦听器绑定到每个链接的脚本。当mousedown 事件被触发时,它会调用一个函数来创建一个带有链接href 的警报。在 IE9+ 中,这可以正常工作,但在 IE8 中,这是未定义的。
<html>
<body>
<a href="http://www.example.com">test</a>
<script>
var c=function(){alert(this.href)};
var a=document.getElementsByTagName("a");
for(var b=0; b<a.length; b++) {
if (a[b].addEventListener) {
a[b].addEventListener("mousedown",c,false);
} else {
a[b].attachEvent("onmousedown",c);
}
}
</script>
</body>
</html>
我尝试将this 和this.href 添加为函数的参数,但看起来这些函数不接受参数。任何人都知道我将如何让它工作?
【问题讨论】:
-
大多数人确实会像
$("a").on("mousedown",c)一样使用 JQuery,但您可能正在寻找原始 JavaScript 解决方案...closure 是否适合您的情况?
标签: javascript html event-handling internet-explorer-8 dom-events