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

InternetExplorer中的addEventListener

InternetExplorer中的addEventListener

慕桂英546537 2019-08-03 03:03:58
InternetExplorer中的addEventListener与InternetExplorer 9中的元素对象等效的是什么?if (!Element.prototype.addEventListener) {     Element.prototype.addEventListener = function() { .. } }它是如何在InternetExplorer中工作的?如果有一个等于addEventListener我不知道,请解释一下。任何帮助都将不胜感激。可以自由地提出一个完全不同的解决问题的方法。
查看完整描述

3 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

addEventListener是用于附加事件处理程序的适当DOM方法。

InternetExplorer(一直到第8版)使用了另一种attachEvent方法。

InternetExplorer 9支持正确的addEventListener方法。

以下是试图编写跨浏览器的尝试addEvent功能。

function addEvent(evnt, elem, func) {
   if (elem.addEventListener)  // W3C DOM
      elem.addEventListener(evnt,func,false);
   else if (elem.attachEvent) { // IE DOM
      elem.attachEvent("on"+evnt, func);
   }
   else { // No much to do
      elem["on"+evnt] = func;
   }}




查看完整回答
反对 回复 2019-08-04
?
胡说叔叔

TA贡献1804条经验 获得超8个赞

我正在使用这个解决方案,并在IE8或更高版本中工作。

if (typeof Element.prototype.addEventListener === 'undefined') {
    Element.prototype.addEventListener = function (e, callback) {
      e = 'on' + e;
      return this.attachEvent(e, callback);
    };
  }

然后:

<button class="click-me">Say Hello</button><script>
  document.querySelectorAll('.click-me')[0].addEventListener('click', function () {
    console.log('Hello');
  });</script>

这将工作IE8和Chrome,火狐等。




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

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号