我正在尝试为我的 Java EE 应用程序创建一个工具栏。此工具栏包含图标,可以将其拖到 JQuery 可排序列表(JSP 页面上的 DIV 列)。我的最终目标是在释放鼠标按钮后显示一个 JSP 表单。在当前情况下,我的图表列将在成功拖动操作后包含一个图标,这是我不想要的。
我的问题:如何在释放鼠标按钮后立即删除项目,或者首先防止掉落?
我使用可拖动或可排序操作的原因是我想知道用户想要放置新小部件的位置(并保存此位置)。
希望有人可以帮助我/展示一个例子
我正在尝试为我的 Java EE 应用程序创建一个工具栏。此工具栏包含图标,可以将其拖到 JQuery 可排序列表(JSP 页面上的 DIV 列)。我的最终目标是在释放鼠标按钮后显示一个 JSP 表单。在当前情况下,我的图表列将在成功拖动操作后包含一个图标,这是我不想要的。
我的问题:如何在释放鼠标按钮后立即删除项目,或者首先防止掉落?
我使用可拖动或可排序操作的原因是我想知道用户想要放置新小部件的位置(并保存此位置)。
希望有人可以帮助我/展示一个例子
好吧,我不知道您为什么要删除该项目,但阅读 jQuery API 文档会回答您的问题。你尝试过什么吗?
可拖动
$("yourSelector").draggable({
drop : function() {
$(this).remove();
// Removes this item from the DOM after a succesful drop
}
});
文档:http ://api.jqueryui.com/draggable/
可排序
$("yourSelector").sortable({
change : function() {
$(this).remove();
// Removes this item from the DOM after a change in the sort order
}
});
根据您给出的答案,我设法提出了解决方案
$(".sortableList").droppable({
drop: function(event, ui) {
if (!ui.draggable.hasClass("widget")) {
ui.draggable.remove();
}
}
});
也许不是最好的解决方案,但它确实有效。谢谢您的帮助:)
l$("yourSelector").sortable({ change : function() { $(this).remove(); // Removes this item from the DOM after a change in the sort order } });
@godesign,这不起作用有几个原因。
$(this)
不会给出排序的项目,而是一些不可用的 jqueryui 东西。您需要ui
从参数中获取并将函数标题更改为function(event, ui){
.deactivate
一切都被删除的情况下执行 ui.remove()给出了 1 和 2 的解决方案,我还没有找到 3 的解决方案。