私のページには、クリックイベントに応答するさまざまな要素がたくさんあります。 いくつかのグローバルフラグに基づいてすべてのクリックをブロックする必要がある場合があります。 中央の場所でこのチェックを行う方法はありますか?私はフラグをチェックし、各イベントでの今jQuery:すべてのクリックイベントが発生する前にトラップしますか?
は、例えば:私がやりたいのは何
var canClick = false; // Global flag
// Sample click event:
$("#someDiv").click(function(){
if(!canClick) return;
// Some stuff ...
});
は前に、他の要素をすべてのクリックイベントをトラップ一つの要素を持っています。
文書でこれをやろうとしましたが、これらのイベントは他のクリックイベントの後にのみ発生します。
例:
$("#someDiv").click(function(){ console.log("someDiv click"); });
$(document).click(function(){ console.log("Document click"); });
// When I click on the someDiv element it prints:
> someDiv click
> Document click
私はまた、すべてのものの上にフルスクリーンのdivを入れてトラップイベントにこれを使用してみましたが、問題はクリックのどれもが、このフルスクリーンのdivを介して伝播しないされていたことがありました。また、ちょっとハッキリと感じるように、クリックをトラップするために余分な要素を作成することに頼ることはありません。
jQueryのクリック機能を上書きして、そこに小さなチェックを入れることができますか?
ここには何かがありますか?
ありがとうございました。
ああ輝かしいです!どうもありがとうございました。 Chrome 11で動作します。これは、互換性が必要なブラウザです。乾杯。 – nebs
ブラウザ間の互換性が必要な人は、IE <9ではサポートされていません – opsb