将元素从<div id="catalog" >
拖放到框中,即<div id="dialogIteration">
工作正常。但是当第二次拖放相同的元素时,它很容易被删除但是我想要的是什么不应该删除它并提醒“Statement已经退出”。
答案 0 :(得分:2)
在draggable
中使用一个标记,表示它是否已被放入对话框中。
drop: function (evt, ui) {
// logic
if (ui.draggable.attr('data-dropped')) {
// don't perform the drop
} else {
// perform the drop
ui.draggable.attr('data-dropped', true);
}
}
如果您只希望当前被删除的那个不再是droppable
,请在成功删除后重置draggable
属性。
drop: function (evt, ui) {
// logic
if (ui.draggable.attr('data-dropped')) {
// don't perform the drop
} else {
// perform the drop
$('tag[data-dropped=true]').attr('data-dropped', false);
ui.draggable.attr('data-dropped', true);
}
}
答案 1 :(得分:0)
以下是一个示例:http://jsfiddle.net/7683X/35/
我使用:contains
选择器来检查文本是否已被放入droppable元素中:
drop: function(event, ui) {
if($("#dialogIteration ol:contains('"+ui.draggable.text()+"')").length > 0)
{
alert("Statement already exits");
return false;
}
...
}