jQuery函数仅执行一次

时间:2019-12-04 07:38:23

标签: jquery

我有一个jquery脚本,用于从购物车中删除商品:

<script type="text/javascript">
    $(document).ready(function(){ 
        $(".deleteLink").click(function(e) { 
            e.preventDefault();
            var id = $(this).attr('data-id');
            $.ajax({
                type: 'POST',
                url: 'delete.php',
                data: "id=" +id
            })
            .done(function(data){
                alert("Deleted.");
                var url="basket.php";
                $("#warenkorb").load(" #warenkorb > *");
            })
            .fail(function() {
                alert("Error");
            }); 
            return false;  
        });
    });
</script>

当我进入页面并单击Delete-Link时,此方法有效。当我单击第二个链接时,它将不再起作用。我必须重新加载页面。然后,我可以再次删除一次。

链接看起来像这样:

<a class="deleteLink" data-id="$id" href="#">Delete</a>

有人能想象出什么问题吗?

1 个答案:

答案 0 :(得分:1)

使用$(document).on("click", ".deleteLink", function(e) { ... }

  

文档:$(document).on()

   .on()方法将事件处理程序附加到jQuery对象中当前选定的元素集。从jQuery 1.7开始,.on()方法提供了附加事件处理程序所需的所有功能。有关从较旧的jQuery事件方法转换的帮助,请参见.bind()、. delegate()和.live()。要删除与.on()绑定的事件,请参见.off()。要附加仅运行一次然后删除的事件,请参阅.one()