0

我在按钮单击(列表按钮)上使用 AjaxCall 获取 html 内容并将其放入 DIV 中。

 $("#list").live("click",function(){
       var id=3;
        $.ajax({
                 url:  location.protocol+'//'+window.location.hostname+"/getList/",
                 type: "POST", 
                 data:{id:id},
                 cache: false,
                 success : function(data){
                    $("#list_template").empty();
                    $("#list_template").html(data);
                 }
             });        
 });

响应的 HTML 中包含另一个添加按钮,所以问题是如果我单击两次/三次到列表按钮,然后单击添加按钮两次/三次。我不知道在插入数据之前清除 DIV 时出现什么问题,并且在 View-source ADD 按钮中也是单一的。

$("#add").live("click",function(){
    alert("Added");
 });

所以我想要的是,如果我想多次点击 LIST 按钮,但每次点击都应该触发一次 ADD 按钮。通过一些研究,我认为jQuery bind/unbind函数可以在这里使用,但我不知道如何在这里使用它。

4

1 回答 1

1

您可以使用以下方式取消绑定和绑定。

$("#list").live("click",function(){
       var id=3;
        $.ajax({
             url:  location.protocol+'//'+window.location.hostname+"/getList/",
             type: "POST", 
             data:{id:id},
             cache: false,
             success : function(data){
                $("#list_template").empty();
                $("#list_template").html(data);
                $("#add").unbind('click').bind("click",function(){
                    alert("Added");
                });
             }
         });        
 });

或者您也可以使用生死事件。

$("#list").live("click",function(){
       var id=3;
        $.ajax({
             url:  location.protocol+'//'+window.location.hostname+"/getList/",
             type: "POST", 
             data:{id:id},
             cache: false,
             success : function(data){
                $("#list_template").empty();
                $("#list_template").html(data);
                $("#add").die('click').live("click",function(){
                    alert("Added");
                });
             }
         });        
 });
于 2013-06-13T12:03:50.433 回答