您好!
我刚开始使用jQuery UI,所以我已经陷入了困境......
我正在尝试制作一个允许用户制定平面图的网络程序。它有一个拖累和掉落功能。
它有一个包含多个项目的菜单,可以拖动它们。问题是,当它被拖动时,菜单中的项目会消失(因为它被拖动)。所以我尝试使用此代码修复它:
jQuery的:
$('.notActive').draggable({ //.notActive is an item in the menu
stop: function(){
$(this).removeClass('notActive');
$(this).addClass('active'); //make it an active item
$('#menu').append($('<div class="item notActive">Furniture</div>'));
//this creates a new item in the menu
}
});
每个item
都有类.notActive
,因为它没有被拖动。当用户拖动它时,它会删除该类并接收类.active
。因此,当它被拖动时,它会在#menu
内创建一个带有类.notActive
的新元素。问题是,菜单中新创建的(追加(?))项目不是.draggable()
,即使它具有类.notActive
。
这是为什么?如何创建一个新的.draggable()
实例?
对任何语法错误道歉,我是荷兰人。
修改
答案 0 :(得分:1)
您没有在添加到菜单中的新项目上明确调用draggable
。
这样的事情会起作用:
$('.notActive').draggable({ //.notActive is an item in the menu
stop: function(){
$(this).removeClass('notActive');
$(this).addClass('active'); //make it an active item
//Create a new object
var newItem = $('<div class="item notActive">Furniture</div>');
//Make the new item "draggable" and add it to the menu
newItem.draggable();
$('#menu').append(newItem);
//this creates a new item in the menu
}
});