ページ全体を無効に設定する簡単な方法が必要です(リンク、ボタンなど...すべて無効)。その後、ページ内のすべてを再度有効にする必要があります。
光の道はありますか?
ページ全体を無効に設定する簡単な方法が必要です(リンク、ボタンなど...すべて無効)。その後、ページ内のすべてを再度有効にする必要があります。
光の道はありますか?
私にとって明らかなオプションの1つは、「カバー」レイヤーを設定することです。
<div id="cover"></div>
スタイル:
#cover {
position: fixed;
width: 100%;
height: 100%;
z-index: 100000;
}
すべてを無効にする必要がある場合は、show
メソッドで表示するだけです。
$("#cover").show();
次のように動作します: http://jsfiddle.net/KEAh8/
すべての要素を見つけるために DOM をスキャンする必要があるため、これは軽量な方法ではありませんが、機能します。
$("input, select, button, textarea").attr("disabled", true);
これが適切なアプローチであるかどうかは、ページのサイズによって異なります。また、コンテンツによってセレクターが変わる可能性があります。属性設定を逆にして、すべてを再度有効にします。
編集:
ポルコが指摘したように、アンカー タグを無効にするには、デフォルトのアクションを防止する必要があるため、次のようなものを追加します。
$("a").click(function(e) {
e.preventDefault();
});
できるよ:
$('*').attr('disabled', 'disabled').addClass('disabled')
これで、すべての入力が無効になり、「無効」クラスがすべてに追加されました。リンクを無効にしたいだけですが、これでうまくいくはずです。
$('body').on('click', '.disabled', function(e) { e.preventDefault(); });
すべてを簡単に有効にするには:
$('*').attr('disabled', '').removeClass('disabled')