返回列表 發帖
本帖最後由 test155 於 2010-5-2 00:56 編輯
$("list2").sortable({revert: true});
                        
$("list1 .Place").draggable({
        connectToSortable: 'list2',
        helper: 'clone',
        revert: 'invalid',
        scroll: false});
我加了排序功能後,變成只要在list2進行排序,就會多clone一個div物件

TOP

所以你從 #list2 拖曳出來時不能 clone 喔...
To infinity and beyond!

TOP

我想從list2的物件作排序,可是一排序完就會多複製一個。

TOP

請參考我先前的範例
To infinity and beyond!

TOP

本帖最後由 test155 於 2010-5-15 19:03 編輯

似乎又失敗了...

同一個容器進行排序就會clone...

慢慢思考去

TOP

你這情況又不太一樣,sortable 本身就會複製,所以你的 list2 只需要針對來自list1 的做複製。
另外你 JavaScript 內的 id 打錯,不用加上 #
if (ui.draggable.parent().attr("id") != "list2") {
    var $a = $(ui.draggable).clone();
    $(this).append($a);
    $a.draggable();
}
To infinity and beyond!

TOP

嗯,謝謝指導

TOP

我用IE8瀏覽和Firefox瀏覽,IE8不能使用物件移除功能,所以還要再寫一個IE8能用的移除功能嗎?

TOP

本帖最後由 test155 於 2010-5-2 21:25 編輯

用GOOGLE瀏覽器,有時不能正常顯示。

剛把後面加上移除類別、資料,再給空資料。
$a.remove().removeClass().removeData().empty();
就能解決IE8的問題了...

TOP

本帖最後由 test155 於 2010-5-6 23:04 編輯
$("#list1 .Place").draggable({helper: 'clone',revert: 'invalid',scroll: false});
                   
                   $("#list2").droppable({
                                accept: '#list1 .Place, #list2 .Place', 
                                drop: function(ev, ui) {
                                  if (ui.draggable.parent().attr("id") == "list2") {
                                    var $a = $(ui.draggable);  
                                  } else {  
                                    var $a = $(ui.draggable).clone();  
                                  }  
                                  $(this).append($a);
                                  $a.draggable();  
                                  }  
                                  });
                   
                   $('body').droppable({
                                accept: '#list2 .Place',
                                drop: function(ev, ui) 
                                {
                                  $a = $(ui.draggable);
                                  $(this).append($a);
                                  $a.empty();
                                }
                                });
我想把a變成空值,並且能讓list1的place取代,是要用哪種方法寫?

是要取拖動的框框嗎?

TOP

返回列表 回復 發帖