jquery可拖动元素丢失
有谁能告诉我,在下面给定的代码中,当第一次拖动元素时,它可以正常工作,但当拖动新元素时,先前创建的元素的draggable属性将丢失。 如何在不丢失的情况下进行拖动jquery可拖动元素丢失,jquery,element,draggable,Jquery,Element,Draggable,有谁能告诉我,在下面给定的代码中,当第一次拖动元素时,它可以正常工作,但当拖动新元素时,先前创建的元素的draggable属性将丢失。 如何在不丢失的情况下进行拖动 if(tag==normal_tag1.id) { normal_tag_d=' <div id="Normal_Tag1_div_dummy'+count1+'" class ="Normal_Tag1_div_dummy" >'+ 'Normal DUMMY</div
if(tag==normal_tag1.id)
{
normal_tag_d=' <div id="Normal_Tag1_div_dummy'+count1+'" class ="Normal_Tag1_div_dummy" >'+ 'Normal DUMMY</div>';
document.getElementById('droppable').innerHTML+=normal_tag_d;
var idx='#Normal_Tag1_div_dummy'+count1;
$(idx).draggable(
{
revert: 'invalid'
}
);
var droppable="#droppable";
$(droppable).droppable({
drop: function(ev,ui) {
alert(ui.draggable);
}
});
count1++;
}
else if(tag==normal_tag2.id)
{
normal_tag2_d=' <div id="Normal_Tag2_div_dummy'+count2+'" class ="Normal_Tag2_div_dummy" >'+
'Normal DUMMY2</div>';
var id='#Normal_Tag2_div_dummy'+count2;
document.getElementById('droppable').innerHTML+=normal_tag2_d;
$(id).draggable({
revert: 'invalid'
});
$("#droppable").droppable({
drop: function() {
}
});
count2++;
}
if(tag==normal_tag1.id)
{
正常_标签_d=''+'正常假人';
document.getElementById('droppable')。innerHTML+=normal_tag_d;
变量idx='正常值'Tag1'分区'dummy'+count1;
$(idx).可拖动(
{
回复:“无效”
}
);
var droppable=“#droppable”;
$(可拖放)。可拖放({
下拉:功能(ev、ui){
警报(ui.draggable);
}
});
count1++;
}
else if(tag==normal_tag2.id)
{
正常标记2\u d=“”+
“正常DUMMY2”;
变量id='#正常Tag2_div_dummy'+count2;
document.getElementById('droppable')。innerHTML+=normal\u tag2\u d;
$(id).可拖动({
回复:“无效”
});
$(“#可拖放”)。可拖放({
drop:function(){
}
});
count2++;
}
如果Dragable位于Dropable内部,则在重写Dropable的innerHTML时,您将从DOM中删除它。您只需获取现有内容并向其中添加更多HTML,然后将其写回容器。这实际上删除了容器中的DOM元素,并将它们替换为与旧元素完全相同的新元素。旧元素上的任何处理程序都不会重新应用。我关心的另一件事是,变量的作用域不是包含块,而是在全局名称空间中。当然,您只包含了一个片段,因此我可能会误解代码在这两方面的应用
顺便说一句,您最好使用jquery来添加元素,而不是简单的javascript
if (tag==normal_tag1.id)
{
$('<div id="Normal_Tag1_div_dummy'+count1+'" class ="Normal_Tag1_div_dummy" >'+ 'Normal DUMMY</div>')
.appendTo('#droppable' ) // note this doesn't clear #droppable
.draggable( {
revert: 'invalid'
});
$('#droppable').droppable({
drop: function(ev,ui) {
alert(ui.draggable);
}
});
}
...
if(tag==normal_tag1.id)
{
$(''+'正常虚拟')
.appendTo('#droppable')//注意,这不清楚#droppable
.draggable({
回复:“无效”
});
$(“#可拖放”)。可拖放({
下拉:功能(ev、ui){
警报(ui.draggable);
}
});
}
...