...(GOD OF LOVE FOR THATをしないでください)
これは、カスタムイベントを発生させるとき、つまり< 9に起こります。つまり、クラッシュするポイントに達する前にイベントにアクセスできる場合は、元のイベントチェーンを移動し、最後のイベントチェーンを設定します。
以下のコードは、jQueryがイベントハンドラの戻り値(false
)を処理してチェーンのどこかを処理しているときのコードです。あなたがここにイベントをキャンセルしたい場合は、コメントを表示 - try/catchブロックでe.stopPropagation()
への呼び出しをラップ
var handleAndFire = function(e) {
var ev = new $.Event('stack.overflow');
//you may have to debug and manually inspect to see how
//deep the originalEvents go
//or you could write your own function to traverse
//depth first and find it automatically, I'm lazy.
e.originalEvent.originalEvent = {}; //fix for ie < 9
ev.originalEvent = e;
$(document).trigger(ev);
}
$(document).click(handleAndFire);
あなたは答えとして、あなたの編集を追加することができますか? –
jquery-1.6.2.jsファイルの3172行目で、 'e.cancelBubble = true;をコメントアウトしました。 'と入力してください。 ' if(typeof e.cancelBubble!== 'unknown'){e.cancelBubble = true; } '。つまり、元のjqueryファイルのわずかな変更です。 – maan81
申し訳ありません。コードを追加したい:コメントアウト - 'e.cancelBubble = true;'と挿入 - 'if(typeof e.cancelBubble!== 'unknown'){e.cancelBubble = true; } ' – maan81