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

InternetExplorer中的addEventListener

InternetExplorer中的addEventListener

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

3 回答

?
Smart猫小萌

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

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-07-12
?
幕布斯7119047

TA贡献1794条经验 获得超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-07-12
  • 3 回答
  • 0 关注
  • 472 浏览
慕课专栏
更多

添加回答

举报

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