为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript中的MSIE和addEventListener问题?

Javascript中的MSIE和addEventListener问题?

交互式爱情 2019-07-13 14:34:01
Javascript中的MSIE和addEventListener问题?document.getElementById('container').addEventListener('copy',beforecopy,false );在Chrome/Safari中,当页面上的内容被复制时,上面的函数就会运行。MSIE也应该支持此功能,但出于某种原因,我得到了以下错误:“对象不支持此属性或方法”现在,我的理解是InternetExplorer不会使用Body节点,但我认为按ID提供节点会很好。有人知道我做错了什么吗?提前谢谢。*任何能告诉我第三个参数“假”有什么好处的人都可以得到加分。
查看完整描述

3 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

在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');});

可以运行上述代码的示例。这里.

第三个论点addEventListeneruseCapture;如果为真,则表示用户希望启动事件捕获.


查看完整回答
反对 回复 2019-07-13
?
aluckdog

TA贡献1847条经验 获得超7个赞

如果您正在使用JQuery2.x,那么请在

<html>
   <head>
      <meta http-equiv="X-UA-Compatible" content="IE=edge;" />
   </head>
   <body>
    ...   </body></html>

这对我有用。


查看完整回答
反对 回复 2019-07-13
  • 3 回答
  • 0 关注
  • 366 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信