2013-02-18 353 views
1

當使用jQuery UI可拖曳+排序時,可拖曳元素在放入可排序時丟失了css。這裏是我的代碼,這裏是一個js fiddle demojQuery UI可拖曳+排序保持可拖拽的css

嘗試將可拖動的div放入可排序的列表中,並看到它丟失了(在本例中)背景顏色和邊框。是否有可能防止這種情況發生?

<script> 
    $("#content").sortable({ 
     revert:true 
    }); 
    $("#draggable").draggable({ 
     connectToSortable: "#content", 
     revert: "invalid", 
     stop: function(event,ui) { 
     $(ui.item).attr('id','draggable'); 
     } 
    }); 
</script> 
<style> 
#content {width:150px;} 
#draggable { 
    width:50px; 
    height:50px; 
    border:1px solid red; 
    background-color:blue;} 
.text { 
    min-height:100px; 
    width:100%; 
    border:1px solid red; 

    background-color:red; 
} 
</style> 
<div id="content"> 
    <div class="text">Item</div> 
    <div class="text">Item</div> 
    <div class="text">Item</div> 
    <div class="text">Item</div> 
    <div class="text">Item</div> 
    <div class="text">Item</div> 
</div> 
+0

這種行爲可以使用輔助函數來避免。 – lam3r4370 2013-02-21 22:55:57

回答

1

該ID將通過拖動而丟失。您可以通過將CSS附加到類來解決此問題。
在你的HTML:

<div id="draggable" class="dragclass">Drag</div> 

並在CSS:

.dragclass { 
    width:50px; 
    height:50px; 
    border:1px solid red; 
    background-color:blue;} 

看到更新的小提琴: http://jsfiddle.net/y6KHn/2/

+0

將元素拖放到可排序區域,然後將其拖到外面的某處。然後放下它。元素不會返回到初始狀態。 – lam3r4370 2013-02-18 07:31:33

+0

不確定你的意思 - 它保持其風格和類。你在談論排序的列表嗎? – goodmanship 2013-02-18 07:43:00

+0

這就是我的意思 - http://screencast-o-matic.com/watch/cInFiJVIME – lam3r4370 2013-02-18 07:50:21