0

jqueryの問題に直面しています。複数の行があるテーブルがあります。行の 1 つをクリックすると (1 回だけ)、jquery で投稿を送信する必要があります。問題は、イベントがすべてのテーブルセルに対して発生するため、これに one() 関数を使用できないことです。コードは次のとおりです。

        $("#tabel_notificari").one("click", ".rand_notif td:last-child" ,function(e){
        e.stopPropagation();
        var idNotif=$(this).parent().attr("record");
        $.post("../template/masa/gestionare_notificare.php",{id:idNotif, status:3}, function(data){
        $(this).parent().prev(".spacer_2").remove();
        $(this).parent().fadeOut(500);return true;});
    });

この問題を解決できる人はいますか? ありがとう。

4

1 に答える 1

2

クリックイベントの外で変数を使用し、on代わりに使用しoneます...

var clicked = false;
$("#tabel_notificari").on("click", ".rand_notif td:last-child" ,function(e){
    e.stopPropagation();
    if (!clicked) {
        clicked = true;
        var idNotif = $(this).parent().attr("record");
        $.post("../template/masa/gestionare_notificare.php",{id:idNotif, status:3}, function(data){
            $(this).parent().prev(".spacer_2").remove();
            $(this).parent().fadeOut(500);
            return true;
        });
    }
});

これにより、どのセルがクリックされたかに関係なく、クリック コードを 1 回だけ実行できます。

于 2013-07-01T15:29:34.213 に答える