イベントで呼び出された場合にのみ関数を実行する方法はありますかevent.preventDefault()
(別の不明な関数によって)。これは jQuery プラグイン用であるため、ページの他の部分が何をしているのかはわかりません。私はこれを試しました:
Event.test = Event.preventDefault;
Event.preventDefault = function () {
alert('Success');
this.test();
}
しかし、それは機能しません...エラーなしで通常どおりに動作します。
逆に、私は反対もしたい...呼び出されていない場合にのみ関数を呼び出すevent.preventDefault()
。実際には、イベントのデフォルト アクションに関数を追加します。何か案は?これはすべて可能ですか?
編集:コメントに基づいて、最初の問題の解決策があります: http://jsfiddle.net/nathan/VAePB/9/。それはChromeで動作します(アラートfunction preventDefault() { [native code] }
ですが、IEアラートundefined
。したがって、IEでは定義できませんEvent.prototype.test
が、再定義Event.prototype.preventDefault
できます。奇妙です。これに基づいて2番目の問題の解決策を考え出すことができると確信していますIEで動作させることができます。