1

ページで発生したクリックを検出したい (カスタム コンテキスト メニューを閉じるため)。私はjQueryを使用していて、やろうとしています

$(document).click(function(){ ...close my context menu ... });

ただし、ページ上の特定の要素のクリック ハンドラーで evt.stopPropagation() を呼び出すコードを使用しており、それらのクリックがトップレベルのハンドラーに到達していません。これらのクリックをキャプチャする方法はありますか? クロスブラウザーで動作する限り、jQuery であっても jQuery でなくてもかまいません。

4

2 に答える 2

0

メニューが表示されているときに、非表示の div をページに追加してから、それを「表示」することを試みましたか (実際には表示されないためではありません)。次に、イベント リスナーを非表示の div にアタッチして、ポップアップを閉じて div を非表示にすることができます。

于 2012-06-30T00:02:55.677 に答える
0

従来のコードがバブリング フェーズでクリックを処理する場合、キャプチャ フェーズでクリックを処理できます。試す:

element1.addEventListener('click', doSomethingFunction, true);

それはすべてここで非常にうまく説明されています: http://www.quirksmode.org/js/events_order.html

于 2012-06-29T21:12:01.723 に答える