3

イベントがトリガーされるとすべてのボタンを無効にするjQueryのこの行があります。

$("button").attr("disabled", "disabled");

無効にされたボタンはデフォルトでグレー表示されていますが、ボタンが無効になるようにこの動作をオーバーライドする方法があるかどうか疑問に思っていましたが、ユーザーには表示されませんでしたか?

ありがとう。

4

1 に答える 1

4

CSS経由:

button[disabled]1つの解決策は、次のようにcssセレクターを使用して、無効なボタンと有効なボタンに同じスタイルを設定することです。

button[disabled], button{
        color:#fff;
        border: none;
        background-color: grey;
    }

問題は、ブラウザのボタンのスタイルがデフォルトで異なるため、ボタンのスタイルを設定する必要があることです。

Jquery経由:

別の解決策は、ボタンのクリックイベントハンドラーを削除することです。そのため、次の行を置き換えます。

$("button").attr("disabled", "disabled");

これのために:

$('button').off('click');

クリックイベントを再度有効にするには、次を使用します。

$('button').on('click');

SOでのこの良い答えに関するイベントハンドラーの追加/削除に関する詳細情報

注:上記のコードではすべてのボタンのクリックが削除されるため、ボタンのIDを追加する必要があります(複数使用している場合)。

于 2012-11-24T08:22:07.810 に答える