我有一个选择和拖动几个元素的脚本。它工作正常,但是当我想添加另一个新元素到该函数时,将它附加到DOM,它不起作用。该功能是:附加到DOM的jQuery新元素不起作用
$(function() {
var selected = $([]), offset = {top:0, left:0};
$("#selectable1").selectable();
$("#selectable1 span").draggable({
start: function(ev, ui) {
$(this).is(".ui-selected") || $(".ui-selected").removeClass("ui-selected");
$("span").removeClass("cica"); // ads class Cica to the draged/selected element
$(this).addClass("cica");
selected = $(".ui-selected").each(function() {
var el = $(this);
el.data("offset", el.offset());
$(this).text("Selected and dragging object(s)");
});
offset = $(this).offset();
},
drag: function(ev, ui) {
var dt = ui.position.top - offset.top, dl = ui.position.left - offset.left;
selected.not(this).each(function() {
var el = $(this), off = el.data("offset");
el.css({top: off.top + dt, left: off.left + dl});
});
},
stop: function(ev, ui){
$(this).text("Drag has stopped");
}
});
});
新元素添加这样的:
$('<span class="drag">Xia</span>').appendTo('#selectable1');
我知道我可以使用实时使它工作,但我不知道在哪里把它添加脚本。我只知道如何将它添加到像click,mouseover这样的事件上。
请让我知道如果你有这一个的一些技巧。
谢谢
尖尖的,我就在这行的语法错误: $(本).find(“跨度:没有(.dragReady)”)我 我会看看我可以修复它,并给它一个尝试 – Mircea 2010-02-04 19:52:25
摆脱尾随的“我” - 这是一个错字:-)对不起,我会编辑答案。 – Pointy 2010-02-04 19:54:25
好的,我已经完成了你的代码。它确实使新元素可拖拽,但它会自动杀死函数。我的意思是这个功能是为了让元素可以同时选择和拖动。我可能没有正确实施您的解决方案。我需要更多地了解这一点。 – Mircea 2010-02-04 20:12:05