2

ページ全体を無効に設定する簡単な方法が必要です(リンク、ボタンなど...すべて無効)。その後、ページ内のすべてを再度有効にする必要があります。

光の道はありますか?

4

3 に答える 3

2

私にとって明らかなオプションの1つは、「カバー」レイヤーを設定することです。

<div id="cover"></div>

スタイル:

#cover {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 100000;
}

すべてを無効にする必要がある場合は、showメソッドで表示するだけです。

$("#cover").show();

次のように動作します: http://jsfiddle.net/KEAh8/

于 2012-05-22T22:05:59.040 に答える
1

すべての要素を見つけるために DOM をスキャンする必要があるため、これは軽量な方法ではありませんが、機能します。

$("input, select, button, textarea").attr("disabled", true);

これが適切なアプローチであるかどうかは、ページのサイズによって異なります。また、コンテンツによってセレクターが変わる可能性があります。属性設定を逆にして、すべてを再度有効にします。

編集:

ポルコが指摘したように、アンカー タグを無効にするには、デフォルトのアクションを防止する必要があるため、次のようなものを追加します。

$("a").click(function(e) {
   e.preventDefault();
});
于 2012-05-22T22:06:05.153 に答える
0

できるよ:

$('*').attr('disabled', 'disabled').addClass('disabled')

これで、すべての入力が無効になり、「無効」クラスがすべてに追加されました。リンクを無効にしたいだけですが、これでうまくいくはずです。

$('body').on('click', '.disabled', function(e) { e.preventDefault(); });

すべてを簡単に有効にするには:

$('*').attr('disabled', '').removeClass('disabled')
于 2012-05-22T22:08:56.270 に答える