jQuery保留最后一次点击并发送更多数据

时间:2012-12-08 08:43:58

标签: php jquery

有人可以告诉我为什么每次点击我有jQuery帖子功能的按钮时,它会发送两次帖子,下次按下按钮时,它会发送两倍于上次的时间,所以上?我在Google上搜索过,但我发现unbind()但效果并不好,而且我不知道在Google上搜索什么来解决这个问题。

$(document).ready(function(){
  $("#button").click(function(){
    $.post("includes/document.php",
    function(data) {
      $("#body").html(data);
    });
  });
});

html:

<div id="body">
    <div id="name">
        <p>Username </p>
        <input id="nameInput" type="text">
    </div>
    <div id="button">Press Me</div>
</div>

5 个答案:

答案 0 :(得分:1)

为什么不使用直播。

$(function(){
  $("#button").live("click",function(){
    $.post("includes/document.php",
    function(data) {
      $("#body").html(data);
    });
  });
});

Jquery.live处理事件委托并删除附加到先前呈现的元素的任何ghost事件侦听器。

答案 1 :(得分:0)

如果您没有将多个click事件绑定到div#button,请仔细检查您是否在页面中多次未包含jQuery。

答案 2 :(得分:0)

尝试一次:

$("#button").click(function(){
    // Your code...
    $.post();

    // just add return false here
    return false;
});

答案 3 :(得分:0)

好吧,很多时候我也面临同样的要求。

首先取消绑定事件,然后再绑定它。

您可以执行以下代码

$(document).ready(function(){

  $("#button").unbind("click").bind("click",function(){

    $.post("includes/document.php",
            function(data) {
              $("#body").html(data);
            });

    });

});​

答案 4 :(得分:0)

检查#body div外面的放置按钮是否解决了问题....