1
jQuery的拖放代碼:如何在生成的動態標籤拖動元件
jQuery(function() {
jQuery(".component").draggable({
// use a helper-clone that is append to 'body' so is not 'contained' by a pane
helper: function() {
return jQuery(this).clone().appendTo('body').css({
'zIndex': 5
});
},
cursor: 'move',
containment: "document"
});
jQuery('.drag-drop-box').droppable({
accept: '.component',
drop: function(event, ui) {
if (!ui.draggable.hasClass("dropped"))
jQuery(this).append(jQuery(ui.draggable).clone().addClass("dropped").draggable());
}
});
});
此代碼工作正常上的預加載的div。但是當我創建動態標籤時,它不起作用。我怎樣才能拖動動態標籤。
這是運作良好
<div class="item-box">
<div id="tabs-1">
<div class="drag-drop-box"> </div>
</div>
</div>
其中下探元素的靜態代碼的HTML代碼,這是CSS代碼:
.drag-drop-box {
max-width: 780px;
overflow:scroll;
position:relative;
height: 540px;
border: 3px dashed #F7941D;
-moz-border-radius: 10px;/*Firefox*/
-webkit-border-radius: 10px;/*Safari, Chrome*/
border-radius: 10px;
overflow:hidden;
margin:0 auto;
}
這裏是方的動態創建的div jQuery代碼:
function addTab() {
var label = tabTitle.val() || "Tab " + tabCounter,
id = "tabs-" + tabCounter,
li = $(tabTemplate.replace(/#\{href\}/g, "#" + id).replace(/#\{label\}/g, label)),
tabContentHtml = tabContent.val();// || "Tab " + tabCounter + " content.";
tabs.find(".ui-tabs-nav").append(li);
tabs.append("<div id='" + id + "'><div class='drag-drop-box'></div></div>");
tabs.tabs("refresh");
tabCounter++;
}
他首先需要調用'droppable('destroy')',或者只在新創建的選項卡上創建'droppable'? –