Jquery ui 获取可拖动的父容器
我有两个容器 它们都是可拖动和可拖放的,以确保我可以将标签从一个移动到另一个 在drop函数中,我检查容器的id。根据id的名称,我决定是向用户添加标签还是从用户中删除标签 比如说,Jquery ui 获取可拖动的父容器,jquery-ui,jquery-ui-draggable,Jquery Ui,Jquery Ui Draggable,我有两个容器 它们都是可拖动和可拖放的,以确保我可以将标签从一个移动到另一个 在drop函数中,我检查容器的id。根据id的名称,我决定是向用户添加标签还是从用户中删除标签 比如说,existsTagsContiner有一个容器div。它包含用户的标签 另一个容器是usertagscocontainer它包含所有不属于用户的标记 这两个容器都有一个类:.draggableTagContainer 一切正常,当我将标记从一个移动到另一个时,ajax进行了操作,并为用户显示了一条消息 例如,如果用户
existsTagsContiner
有一个容器div。它包含用户的标签
另一个容器是usertagscocontainer
它包含所有不属于用户的标记
这两个容器都有一个类:.draggableTagContainer
一切正常,当我将标记从一个移动到另一个时,ajax进行了操作,并为用户显示了一条消息
例如,如果用户将标记从existsTagsContiner
移动到usertagscocontainer
,那么我应该将标记添加到用户
但是,我的问题来了:如果我将标记从existsTagsContiner
移动到existsTagsContiner
(因此没有发生移动,只是在同一容器中拖放),消息也会出现
这绝对不应该发生。因此,我想要实现的是获取容器的“源”id。如果“source”与drop函数中的$(this).attr('id')
相同,我什么也不做
我添加了一条注释,需要获取原始容器名称
这是我的密码
$('#existsTagsContiner, #userTagsContainer').droppable({
tolerance: "intersect",
accept: ".draggableTagContainer",
drop: function (event, ui) {
var tagId = $(ui.helper.context).data('id');
$('#tagId').val(tagId);
//At here I need something like $(ui.helper.___SOURCE___)
if ($(this).attr('id') === 'existsTagsContiner') {
$.removeTagFromUser();
} else {
$.saveTagToUser();
}
$('#tagId').val('0');
if (!$(this).find('ul').length) {
$(this).html('<ul>');
}
$(this).find('ul').append($(ui.draggable));
}
});
$('.draggableTagContainer').draggable({
start: function (event, ui) {
$(ui.helper).addClass("draggableTagContainer");
},
appendTo: 'parent',
cursor: "move",
helper: 'clone',
revert: 'invalid',
cancel: ".draggableTagDelete",
});
在可拖放drop
功能中添加:
if ($(this).attr('id') === ui.helper.data('from')) {
return false;
}
删除那个start函数并尝试..那个start函数只是为克隆的元素添加一个类,并没有什么问题。
if ($(this).attr('id') === ui.helper.data('from')) {
return false;
}