我正在使用droppable和sortable jquery插件,一切看起来都不错。我唯一的问题是btw点击和删除,我找到了以下链接来解决它。
http://wowmotty.blogspot.ca/2010/07/how-to-click-or-dragsort-object.html
以下是我的代码的一部分:
$("#content").sortable({
items: "li:not(.not-dragable,.dummyNotActive)",
revert: true,
start: function (event, ui) {
$(".nav-item").css("pointer-events", "none");
that.navBarListInOrder.list = $(this).sortable('toArray');
},
update: function (event, ui) {
}).find('li').bind('mousedown', function (e) {
// set time on mousedown (start of click)
this.last = e.timeStamp;
// clear moved flag
this.moved = false;
}).bind('mouseup mousemove', function (e) {
// flag showing that the mouse had been moved
if (e.type == 'mousemove') {
this.moved = true;
// no need to continue
return;
}
this.diff = e.timeStamp - this.last;
if (this.diff < 1000 ) {
$("#" + $(this).attr("id")).removeClass("dummyActive").addClass("dummyNotActive");
$("#" + $(this).attr("id")).hide().removeAttr("style").css({"background-color": "#E5E8EC"}).insertAfter("#testLi").show('normal', function () {
});
}
});
正如你所看到的那样,我已经绑定了(&#39; mouseup mousemove&#39;并根据我得到的值得到这个。我运行了一些代码行。现在我的问题就在于条件内:每行条件内部工作除了以下内容:
$(this).attr("id")).hide().removeAttr("style").css({"background-color": "#E5E8EC"}).insertAfter("#testLi").show('normal', function () {
});
}
});
即使我可以看到jquery效果,但元素不会插入到#testLi之后的正确位置并且它保持在相同的位置。有趣的一点是,当我通过点击事件触发inserAfter时它工作正常。我不知道这是否与sortable有关,或者我错误地使用了jquery.insertA。有人可以帮忙吗?