猿问

Javascript中的MSIE和addEventListener问题?

Javascript中的MSIE和addEventListener问题?

document.getElementById('container').addEventListener('copy',beforecopy,false );

在Chrome/Safari中,当页面上的内容被复制时,上面的函数就会运行。MSIE也应该支持此功能,但出于某种原因,我得到了以下错误:

“对象不支持此属性或方法”

现在,我的理解是InternetExplorer不会使用Body节点,但我认为按ID提供节点会很好。有人知道我做错了什么吗?提前谢谢。

*任何能告诉我第三个参数“假”有什么好处的人都可以得到加分。


交互式爱情
浏览 367回答 3
3回答

哆啦的时光机

在IE中你必须使用attachEvent而不是标准addEventListener.一个常见的做法是检查addEventListener方法并使用它,否则使用attachEvent:if (el.addEventListener){   el.addEventListener('click', modifyText, false); } else if (el.attachEvent){   el.attachEvent('onclick', modifyText);}您可以创建一个函数来完成它:function bindEvent(el, eventName, eventHandler) {   if (el.addEventListener){     el.addEventListener(eventName, eventHandler, false);    } else if (el.attachEvent){     el.attachEvent('on'+eventName, eventHandler);   }}// ...bindEvent(document.getElementById('myElement'), 'click', function () {   alert('element clicked');});可以运行上述代码的示例。这里.第三个论点addEventListener是useCapture;如果为真,则表示用户希望启动事件捕获.

aluckdog

如果您正在使用JQuery2.x,那么请在<html> &nbsp;&nbsp;&nbsp;<head> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<meta&nbsp;http-equiv="X-UA-Compatible"&nbsp;content="IE=edge;"&nbsp;/> &nbsp;&nbsp;&nbsp;</head> &nbsp;&nbsp;&nbsp;<body> &nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;&nbsp;&nbsp;</body></html>这对我有用。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答