0

私は次のものを持っています:

 <button id="refreshLink" class="blue" type="button" title="Refresh Grid"
                data-entity="Topic"
                data-href="/Admin/Contents/Reference">
                <span class="center-icon sprite-arrow-circle"></span></button>

そしてこのjQueryコード:

$('#refreshLink')
.click(function () {
    if ($(this).hasClass("blue")) {
        $(this).removeClass('blue').addClass('grey');
        refreshGrid($(this).attr('data-entity')); ;
    }
    return false;
});

これにより複数回のクリックが停止すると思いましたが、それでもユーザーが複数回クリックして複数回更新できるようです。

jQuery を使用してリンクを無効および有効にする方法はありますか? また、ユーザーが複数回クリックした場合にクリックが入るキューはありますか?

4

2 に答える 2

0

クラスで要素を選択できます:

$('button.blue').click(function () {
    $(this).removeClass('blue').addClass('grey');
    refreshGrid($(this).attr('data-entity')); ;
    return false;
});

または jQueryone()メソッドを使用します。

要素のイベントにハンドラーをアタッチします。ハンドラは要素ごとに最大 1 回実行されます。

$('#refreshLink').one('click', function () {
    $(this).removeClass('blue').addClass('grey');
    refreshGrid($(this).attr('data-entity')); ;
    return false;
});
于 2012-07-26T12:35:55.127 に答える
0

青のクラスを持つボタンに対してのみリフレッシュを実行できます。また、クラスを切り替えるためにtoggleClass()を使用することもできます。

$('#refreshLink.blue').click(function () {
    $(this).toggleClass('blue grey');
    $(this).prop('disabled', true);
    refreshGrid($(this).attr('data-entity')); ;
    return false;
});

ライブデモ

于 2012-07-26T12:39:22.943 に答える