2017-01-02 4 views
0

Здравствуйте, я пытаюсь сбросить содержимое div с помощью вызова AJAX, когда пользователь нажимает кнопку. Но если пользователь нажимает непрерывно, возникает ошибка. Я хочу запретить пользователю отключать клик или останавливать анимацию при запуске.Как предотвратить непрерывную нажатие кнопки в jQuery?

И я попытался остановить функцию jQuery, но я не могу решить проблему.

Я использую этот код

$(".reset").click(function (e) { 
    e.preventDefault(); 
    $(".product-group > .row").hide('slide',{direction:"left",distance:1900},200);//,function() { 

     var product_groups = $(".product-group"); 
     $.ajax({ 
       type: 'POST', 
       url: "?callback=?", 
       data: "", 
       success: function(data) { 
        product_groups.html($(data).find(".product-group").html()); 
        PageCenterer(); 
        isOnlyTwoProductFields(); 
       } 
      }); 
     //$(".product-group").html($("#product-field").html()).append($("#product-field").html()); 
     count=$(".product-group > .row").size(); 
     var index=$(".product-group > .row").index(); 
     console.log(index); 
     $(".product-group > .row").each(function(index){ 
     if ($(window).width()<600) { 
      $(this).find("label:first").text((index+1)); 
     }else{ 
      $(this).find("label:first").text((index+1)+"."+product); 
     } 
     //isOnlyTwoProductFields(); 
     //PageCenterer(); 
     }); 
    //}); 

    }); 
+0

Добавить отключить класс до кнопки, как только пользователь нажмет кнопку и удалит класс, как только задача будет завершена. –

ответ

1

можно отключить, когда пользователь нажимает на кнопку, и включить после анимации или что-то было завершено, как AJAX вызова.

$(function() { 
 
    $("#frm").submit(function() { 
 
    $(this).find("input").prop("disabled", true); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id="frm"> 
 
    <p>You can click me only once!</p> 
 
    <input type="submit" value="Send" /> 
 
</form>

Вы должны использовать код выше, но так как сниппет песочнице, другая альтернатива:

$(function() { 
 
    $("#frm input").click(function() { 
 
    $this = $(this); 
 
    $this.prop("disabled", true); 
 
    setTimeout(function() { 
 
     $this.prop("disabled", false); 
 
    }, 3000); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id="frm"> 
 
    <p>You can click me only once! Gets enabled after request is fulfilled (dummy 3 seconds).</p> 
 
    <input type="submit" value="Send" /> 
 
</form>

0

Всякий раз, когда щелчок или Выполняется вызов функции DoubleClick.

В первой строке этих функций написать $('button').attr(“disabled”, true);

0

Вы можете получить доступ к HTML собственность- «отключены» кнопки и установите его ложь первоначально и установить его на истинное нажатии этой кнопки.

$(function() { 
    $('.reset').prop('disabled', false); 

    $(".reset").click(function (e) { 
     $(this).prop('disabled', true); 
     //...your code 
    }); 
} 

Также проверьте, можете ли вы выбрать кнопку, используя свой идентификатор. Выбор кнопки управления по имени класса здесь не кажется правильным, поскольку несколько элементов управления могут использовать один и тот же класс.

Смежные вопросы