これは純粋に不可解な好奇心です。
OperaがIEの高度なイベントモデル()をサポートしていることは知っていますattachEvent
が、なぜdocument.attachEvent
このブラウザでfalseと評価されるのですか?
これは純粋に不可解な好奇心です。
OperaがIEの高度なイベントモデル()をサポートしていることは知っていますattachEvent
が、なぜdocument.attachEvent
このブラウザでfalseと評価されるのですか?
IEを除くすべての場所にステルスが存在するのと同じ理由document.all
で、無条件に使用するサイトをサポートしますが、条件付きでチェックするWebサイトでレガシーIEのみのコードパスをダウンさせないようにします(多くの場合、他の非標準のIEのものを使用します)。 tサポート)。これは11.62で導入され、ここで発表されました; それは注目に値するようでdetachEvent
、window.event
また隠されています。
Operaがこれを行う理由と他の人が行わない理由について:Operaは歴史的にそれを隠さずにサポートし、完全に削除することが望ましいと考えられていましたが、Operaがそれをサポートするという遺産は、それを実現可能にするためには多すぎました。 :
function _aspxAttachEventToElement(element, eventName, func) {
if(__aspxNetscapeFamily || __aspxWebKitFamily)
element.addEventListener(eventName, func, true);
else { if(eventName.toLowerCase().indexOf("on") != 0) eventName = "on" + eventName; element.attachEvent(eventName, func); }
}
(DevExpressから。)
if (d.opera)
d.attachEvent("onmousewheel", j);
else
d.onmousewheel = h.onmousewheel = j;
(krpanoから。)