链接到jsFiddle:http://jsfiddle.net/k8wYF/1/(正在工作)
var count;
$("#sortable").sortable({
start : function(){
count = 0;
},
change : function(){
count++;
},
stop : function(){
alert(count);
}
});
$("#sortable").disableSelection();
单次更改
count : 1
但是,我想在sortableStart上刷新sortable
链接到jsFiddle:http://jsfiddle.net/k8wYF/(不工作)
var count;
$("#sortable").sortable({
start : function(){
$("#sortable").sortable("refresh"); //refresh sortable
count = 0;
},
change : function(){
count++;
},
stop : function(){
alert(count);
}
});
$("#sortable").disableSelection();
然后,单次更改
count : 16 (multiple times)
答案 0 :(得分:4)
来自docs
更改强>
此事件在排序期间触发,但仅在DOM位置时触发 已经改变了。
<强>刷新强>
刷新可排序的项目。自定义触发所有的重新加载 可排序的项目,导致新项目被识别。
您所经历的是正常的。刷新时,所有项目都会移动到预期位置,改变DOM,从而每次触发更改的事件。
如果要向更改事件添加代码,请确保它是您希望在每次更改时执行的代码。
如果要添加代码仅在排序完成时执行,请将其添加到stop
或update
。
<强>更新强>
当用户停止排序和DOM时,会触发此事件 职位已经改变。
<强>停止强>
排序停止时会触发此事件。
根据代码的作用,请确保将其添加到相应的事件中。