我有一个可嵌套的树,其设计如下 https://gist.github.com/Achaius/5291761
我只想在节点重新排序时触发这个 onchange 方法。但是现在当前的功能是当我单击类“dd-handle”的元素时,触发 onchange 事件并调用服务器端脚本。
发生这种情况是因为在第 296 行附近,我们有 'this.el.trigger('change');' 仅当我重新排序列表时,我才想触发此更改事件。
我有一个可嵌套的树,其设计如下 https://gist.github.com/Achaius/5291761
我只想在节点重新排序时触发这个 onchange 方法。但是现在当前的功能是当我单击类“dd-handle”的元素时,触发 onchange 事件并调用服务器端脚本。
发生这种情况是因为在第 296 行附近,我们有 'this.el.trigger('change');' 仅当我重新排序列表时,我才想触发此更改事件。
保存页面加载的初始顺序。在您的更改事件中,将新订单与旧订单进行比较。如果它们不同,则已进行了订单更改:
var idList = getIdList();
$('.dd').nestable();
$('.dd').on('change', function (event) {
var newIDList = getIdList();
if (newIDList != idList) {
console.log("Order has been changed");
idList = newIDList;
}
});
function getIdList() {
var idList = '';
$('.dd-item').each(function () {
idList += $(this).data('id');
});
return idList;
}
演示:http: //jsfiddle.net/94NNb/1/