我有一个div,我正在删除和附加文本框,这是完美的工作但问题是我在该div中有一个div(如部分),我必须删除并附加相同的文本框但它现在下降了两次,一个用于内部div而另一个用于外部div,但我只想要内部div。我试过谷歌,但找不到多少帮助。因此,如果有人对此有所了解,将会非常有帮助。 谢谢。
这是代码但不完整,因为它非常复杂
$(function () {
var $Drag_tbox = $("#Drag_tbox"),
$drop_box = $("#tabs-1"),
$drop_box_sec = $("#secdiv");
$Drag_tbox.draggable(
{
zIndex: 9003,
revert: "invalid",
helper: "clone",
drag: function (event, ui) {
num = 1;
return num;
}
});
$drop_box_sec.droppable({
zIndex: 9003,
drop: function (event, ui) {
if (num == 1) {
$drop_box_sec.append('<tr><td align="center"><asp:Label runat="server" Text="Label"></asp:Label><input id="Text1" type="text" /></tr></td>');
}
}
});
$drop_box.droppable({
zIndex: 9003,
drop: function (event, ui) {
if (num == 1) {
$drop_box.append('<tr><td align="center"><asp:Label runat="server" Text="Label"></asp:Label><input id="Text1" type="text" /></tr></td>');
}
}
});
});
答案 0 :(得分:0)
好吧,当内部框的事件被触发时,您可以取消绑定外部框的事件,然后在完成时再次绑定它。如果你使用jQuery,你可以使用off()或unbind()。请发布您的代码,以便我参考。
看到代码后: http://jsfiddle.net/Dw66V/3/
我添加了一个可拖动的div。现在发生了什么,当内部元素上的内容被删除时,外部元素droppable被禁用,然后在短暂的超时后再次启用。
$drop_box_sec.droppable({
drop: function (event, ui) {
$drop_box.droppable('option', 'disabled', true);
// Your code here
setTimeout(function () {
$drop_box.droppable('option', 'disabled', false);
}, 500);
}
});
更好的方式:)(通过Jquery drop callback of droppable method called twice)
只需将“贪婪”选项添加到内部div,如下所示:
$drop_box_sec.droppable({
greedy: true,
drop: function (event, ui) {
// Your code here
}
});
这开箱即用。 http://jsfiddle.net/Dw66V/4/