我有这样的javascript代码:如何检测document.addEventListener支持在JavaScript
initializeEventHandlers: function() {
if (typeof document.implementation != "undefined" &&
document.implementation.hasFeature("HTML", "1.0") &&
document.implementation.hasFeature("Events", "2.0") &&
document.implementation.hasFeature("CSS", "2.0")) {
document.addEventListener("mouseup", this._mouseUpHandler.bindAsEventListener(this), false);
document.addEventListener("mousemove", this._mouseMoveHandler.bindAsEventListener(this), false);
}
else {
document.attachEvent("onmouseup", this._mouseUpHandler.bindAsEventListener(this));
document.attachEvent("onmousemove", this._mouseMoveHandler.bindAsEventListener(this));
}
}
,在大多数浏览器上运行,但是当我使用IE11失败。我知道这是因为IE11移除了对attachEvent的支持,并且IE11落入了else条件。我也看到hasFeature已被弃用,所以我不知道如何最好地检测addEventListner支持。
什么是您必须支持的最古老的浏览器? –
注意:document.implementation.hasFeature已弃用,并且在很多情况下始终返回true:p –