我通过 live 操作符将 click 函数绑定到 li 元素:
$(".UListView li input.iconbutton.click").live("click", function(e){
e.preventDefault();
[...]
$.get("ajax/categorylist.php?appendcategories=true&parentcat="+currentid+"&side="+side, function(data){
[...]
});
});
在近 90% 的情况下,它会执行一次并且一切正常。但有时 ajax 请求会执行 2 次甚至更多次:
这是萤火虫的输出:(执行两次)
jquery.min.js (Zeile 4)
GET htt-p://localhost/request.php?.... 200 OK 11ms
jquery.min.js (Zeile 4)
GET htt-p://localhost/request.php?.... 200 OK 19ms
这完全破坏了我的布局,因为所有元素在最坏的情况下 6 倍添加到 DOM。
有谁知道这种行为的原因是什么?或者修复“添加到 DOM”代码的好主意被多次执行。