addEventListenerを以下のコードでapplyを呼び出しようとしていますが、Webkitのコンソールに "TypeError:Type error"が表示されています。WebkitのネイティブJavaScriptメソッドでapply/callを使用する
私は、このメソッドを呼び出すためには適用と呼び出しの両方を試みましたが、役に立たなかった。明白な何かを見逃しているか、私がまだ知らない何らかの理由で許可されていないことをしようとしていますか?
もう1つの記事ではこれについて少し話していますが、正確には私がどのようにそれを使って作業しようとしているのかは分かりません。 Using native code functions as JavaScript objects in WebKit。これは、その後、2つのイベントモデル間の他の違いを減らすために拡張することができ
addEvent = (function() {
return addEventListener ?
function (element, event, fn) {
element.addEventListener (event, fn, false);
} :
function (element, event, fn) {
element.attachEvent ('on' + event, fn);
};
})();
: -
ここではいくつかの抽象概念を壊しています。 'window.addEventListener.apply(anElement、[...])'は 'anElement.addEventListener()'と同じであることが保証されていません。つまり、DOM APIは必須ではないホスト(os)言語仕様に合わせてください(つまり、仕様は異なります)。さらに、IEの* attachEvent *は、渡されたイベント名の接頭辞 'on"を必要とします。 –
これは私の初めてのスタックへの投稿です。私はそれを大好きです。だから、私よりも賢く、喜んで助けてくれる人がいることに喜んでいる。 これを行うより良い方法は、次のようなものでしょうか。 要素[handler.name](event、fn、false); – kalisjoshua