javascript
  • jquery
  • 2012-04-04 91 views 1 likes 
    1
    $("#button_title_delete").click(function(){ 
        jQuery.ajax({type:'POST', 
          url:'delete.php', 
          data: 'id='+$("bid").val(), 
          success: function(veri) { $("#delete_result").html(veri);} 
         }); 
        }); 
    

    当我点击“button_title_delete”id的按钮,该功能只能工作一次。我究竟做错了什么?我应该如何解决这个问题?JQuery点击操作只能工作一次

    +1

    做了新的一页 'delete.php' 包含相同的代码/逻辑相同的按钮? – ericosg 2012-04-04 16:07:51

    回答

    5

    可能因为您正在替换AJAX函数的success回调按钮。您需要使用jQuery的.on()方法来附加点击事件。

    +0

    是的,我注意到我正在替换其他一些JQuery请求中的按钮。感谢您指出,非常感谢。 – 2012-04-04 16:01:09

    +0

    @gcx:很高兴有帮助! – 2012-04-04 16:01:49

    +2

    注意:您需要在“委托模式”中通过传递选择器作为第二个参数来使用'.on'。 – 2012-04-04 16:03:58

    3

    我的猜测是该按钮位于$("#delete_result")之内。当您执行$("#delete_result").html(veri)时,您将删除按钮(及其事件),然后创建一个新按钮。

    你需要让按钮有一个“活”事件。像这样:

    $("#delete_result").on("click", "#button_title_delete", function(){ 
        jQuery.ajax({type:'POST', 
          url:'delete.php', 
          data: 'id='+$("bid").val(), 
          success: function(veri) { $("#delete_result").html(veri);} 
         }); 
        }); 
    

    DEMO:http://jsfiddle.net/pujr8/

    相关问题