我有一个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>
有人能想象出什么问题吗?
答案 0 :(得分:1)
使用$(document).on("click", ".deleteLink", function(e) { ... }
文档:$(document).on()
.on()方法将事件处理程序附加到jQuery对象中当前选定的元素集。从jQuery 1.7开始,.on()方法提供了附加事件处理程序所需的所有功能。有关从较旧的jQuery事件方法转换的帮助,请参见.bind()、. delegate()和.live()。要删除与.on()绑定的事件,请参见.off()。要附加仅运行一次然后删除的事件,请参阅.one()