这个AddAtachment在javascript addEventListener中做什么
请让我有点难以理解本声明中附件的确切含义这个AddAtachment在javascript addEventListener中做什么,javascript,Javascript,请让我有点难以理解本声明中附件的确切含义 var x = document.getElementById('myBtn'); if (x.addEventListner) { //for all major browsers except IE 8 and earlier x.addEventlistener('click', myFunction); } else if
var x = document.getElementById('myBtn');
if (x.addEventListner) {
//for all major browsers except IE 8 and earlier
x.addEventlistener('click', myFunction);
} else if (x.attachEvent) {
//for IE 8 and earlier versions
x.attachEvent('onclick', myFunction);
}
有谁能告诉我这些附件是关于什么的吗?我知道addEventListener,但不知道attachEvent
EventTarget.attachEvent()
非标准-此功能为非标准功能,不在标准上
轨道不要在面向Web的生产站点上使用它:它不会
为每个用户工作。两者之间也可能存在很大的不兼容性
实现和行为在将来可能会发生变化
这是标准EventTarget.addEventListener()
方法的专有Microsoft Internet Explorer替代方法
编辑:
Internet Explorer 8和早期版本以及Opera 6.0和早期版本不支持addEventListener()方法。
这就是if语句正在验证的内容,以便能够支持其他浏览器。Edit:这就是原始问题的答案。但是这个答案已经过时了,因为这个问题已经被修改了
这是一个打字错误
x.attachment()
应该是x.attachEvent()
。正如问题的代码注释中所记录的,此代码针对的是旧的IE浏览器。所以打字错误只会影响那些人。它们没有addEventListener()
方法,而是有attachEvent()
方法。在IE8或更早版本中,问题中的代码可能从未像预期的那样工作。您甚至有一条注释解释了为什么会出现该部分。IE8不知道x.addEventListener
,显然,它只知道x.attachment
。它是一种在旧版本的internet explorer中工作的Microsoft专用方法。代码中有注释可以帮助您查看它。这可能是IE8或更旧版本实现的javascript API。没什么好担心的嗯。。。它真的在说附件?!听起来像是打字错误。尤其是在前一行<代码>附件事件< /代码>……@ Paulh是的,我完全集中在评论上,甚至没有考虑<代码> Atguts<代码> VS <代码>附件事件< /代码>。我的错。OP代码正确地处理了这个警告:它只在标准方法不存在的情况下使用它。所以这不是原始帖子中的问题。我看你编辑了这个问题。我对这个问题的理解不同。标题不再反映内容了。@PaulH是的,这让人困惑。我编辑了我的答案并解释了if语句的原因。谢谢