0

リスナーを削除せずにボタン要素を無効にしたいと思います。たとえば、次のコードがあります。

<input id="in" />
<button id="sub">Submit</button>

$('#sub').click(function (e) {
    //Some actions
});


$($('#in').keyup(function (e) {
    if (new Date($(this).val()) == 'Invalid Date') {
        $(this).addClass('invalid');
        $('#sub').addClass('disabled');
    }
    else {
        $(this).removeClass('invalid');
        $('#sub').removeClass('disabled');

    }
});

ボタンクリックリスナーのバインドを解除したいのですが、使用する場合、off()または句unbind()で「再バインド」する必要があります。else

これを行うより良い方法はありますか?

4

2 に答える 2

3

クラスを追加する代わりに、ボタンを無効にするのはどうですか?

HTML:

<button>Disable Me</button>

JS

$(function() {
    $("button").click(function() {
        alert("click!");
       $(this).prop("disabled", true); 
    });
});

CSS

button[disabled] {
 color: red;
}

デモ用のjsFiddleを次に示します。

于 2013-08-12T11:49:03.480 に答える
0

使用する$('#sub').prop('disabled');

于 2013-08-12T11:49:46.653 に答える