私はお互いの上に2つの要素を持っています。最初のdivのボタンをクリックすると、2番目のdivが最初のdivの上に開き、下にあるdivを非インタラクティブにすることができます(underlaying-divの何もクリックできませんoverlaying-divが開いている限り)。アンダーレイ要素をunclickable/deactiveにするにはどうすればいいですか?
Javascriptコード:
$('#button').live('click', function()
{
$('#underlaying-div).fadeTo("fast", 0.7);
$('#overlaying-div).css('display', 'block');
//Do something here to make the underlaying div unclickable
});
$("#overlaying-div").live("click", function() {
$(this).hide();
$('#underlaying-div).fadeTo("slow", 1.0);
//Do something here to make the underlaying div clickable again
});
CSSコード:
#overlay-div
{
position:absolute;
left:0;
top:0;
display:none;
z-index: 20000;
}
私は私はあなたがunderlaying-内の要素をクリックした場合には何も起こらないことを確認するevent.preventDefault()を使用することができます知っていますdiv、しかし、私はむしろ、あなたがボタンの上にマウスを置いたとき(preventDefault()、ホバーや他のものが起こっても)何も起こらないことを望んでいます。
CSSやJavaScript/JQueryでこの問題を解決できる他の方法はありますか?
あなたが設定を解除/グローバル変数や '.dataの()'変数を設定し、それを実行する前に、すべての下層-のdivのイベントハンドラはそれをテストする可能性があります。これらのハンドラを永久に削除するために '.unbind()'することもできます。 – Blazemonger