1

要件:スパンのonclickでajax呼び出しを行います。クリックイベントを一時的に無効/削除し、ajax リクエストが完了したら有効にする必要があります。

私が使っていた入力ボタンの場合

        onRequest : function() {
            $(inputID).disabled = true ;
        },

        onComplete : function(response) {
            $(inputID).disabled = false;
        },

ただし、「無効」が機能しないため、スパン/ラベルの場合は代替手段が必要です。

最悪の場合の解決策:

      onRequest : function() {
            $(inputID).removeEvents() ;
        },

        onComplete : function(response) {
            $(inputID).addEvents() ;
        },

メソッドに必要な引数を保持するための準備が必要なので、このソリューションは嫌いです。

イベントを削除したり追加したりせずに、スパン/ラベルのクリックイベントを一時的に無効/有効にできるJavaScriptの規定はありますか??

4

1 に答える 1

0

spanクラスを(スタイルを設定できるように)に追加できます...

$("inputID").on("click", function () {
    var $input = $(this);
    if (!$input.hasClass("loading")) {
        $input.addClass("loading");
        // pseudo code below
        $input.ajax({
            onComplete : function(response) {
                $input.removeClass("loading");
            }
        })
    }
});

したがって、イベントを追加、削除、またはタッチする必要はありません。

于 2013-01-10T13:05:53.677 に答える