我通过现场操作员将一个点击函数绑定到一个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次甚至更多次。
这是firebug的输出。(执行了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
这完全破坏了我的布局,因为所有的元素在最坏的情况下被添加到DOM的6倍。
有没有人知道这种行为的原因是什么?或者有什么好办法可以解决 "添加到DOM "代码被多次执行的问题。
在你的代码中加入
,并在点击事件结束前
。
e.stopPropagation();
return false;