猿问

InternetExplorer中的addEventListener

InternetExplorer中的addEventListener

与InternetExplorer 9中的元素对象等效的是什么?

if (!Element.prototype.addEventListener) {
    Element.prototype.addEventListener = function() { .. } }

它是如何在InternetExplorer中工作的?

如果有一个等于addEventListener我不知道,请解释一下。

任何帮助都将不胜感激。可以自由地提出一个完全不同的解决问题的方法。


墨色风雨
浏览 473回答 3
3回答

Smart猫小萌

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;    }}

幕布斯7119047

我正在使用这个解决方案,并在IE8或更高版本中工作。if&nbsp;(typeof&nbsp;Element.prototype.addEventListener&nbsp;===&nbsp;'undefined')&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;Element.prototype.addEventListener&nbsp;=&nbsp;function&nbsp;(e,&nbsp;callback)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e&nbsp;=&nbsp;'on'&nbsp;+&nbsp;e; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;this.attachEvent(e,&nbsp;callback); &nbsp;&nbsp;&nbsp;&nbsp;}; &nbsp;&nbsp;}然后:<button&nbsp;class="click-me">Say&nbsp;Hello</button><script> &nbsp;&nbsp;document.querySelectorAll('.click-me')[0].addEventListener('click',&nbsp;function&nbsp;()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;console.log('Hello'); &nbsp;&nbsp;});</script>这将工作IE8和Chrome,火狐等。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答