jquery パネルを「オーバーレイ」として使用しているため、パネルを開くとページの前に表示されます。問題は、パネルの背後にあるページがリンクでいっぱいであり、パネルのボタンをクリックすると、まったく同じ場所にあるがパネルの背後にあるリンクもクリックされ、アプリのページが変更されることです。誰もこのバグを解決する方法を知っていますか?
ありがとうございました!
jquery パネルを「オーバーレイ」として使用しているため、パネルを開くとページの前に表示されます。問題は、パネルの背後にあるページがリンクでいっぱいであり、パネルのボタンをクリックすると、まったく同じ場所にあるがパネルの背後にあるリンクもクリックされ、アプリのページが変更されることです。誰もこのバグを解決する方法を知っていますか?
ありがとうございました!
ええ、これは「バグ」などではありません。期待される動作です。
DOM でトリガーされているイベント (「オーバーレイ」のイベント) が「バブリング」しています。この伝播をオーバーレイまで停止する必要があります。
$("#overlay.button").click(function( event ) {
event.stopPropagation();
});
http://api.jquery.com/event.stoppropagation/
への呼び出しstopPropagation()
は、オーバーレイにあるすべてのクリック イベントのイベント ハンドラーに含める必要があります。