2016-02-06 57 views
1

Hello!jQuery UI - 添加一個類,使其可拖動

我剛開始使用jQuery UI,所以我已經買了東西...

我試圖使Web程序,它允許用戶進行平面佈置圖。它有一個拖動功能&。


它有一個菜單,可以拖動幾個項目。問題是,當它被拖動時,菜單中的項目消失(因爲它被拖動)。所以,我試圖修復使用此代碼:

的jQuery:

$('.notActive').draggable({ //.notActive is an item in the menu 
    stop: function(){ 
     $(this).removeClass('notActive'); 
     $(this).addClass('active'); //make it an active item 
     $('#menu').append($('<div class="item notActive">Furniture</div>')); 
     //this creates a new item in the menu 
    } 
}); 

每個item有類.notActive因爲它沒有拖累。當它被用戶拖動時,它將刪除該類並接收類.active。所以當它被拖動時,它會在類.notActive#menu內創建一個新元素。問題是,菜單中新創建的(附加(?))項不是.draggable(),即使它具有類.notActive

這是爲什麼?我如何創建一個新的實例是.draggable()

任何語法錯誤的道歉,我是荷蘭人。

編輯

這裏的小提琴:https://jsfiddle.net/8tpy7x3e/

+0

你能夠創建[小提琴](https://jsfiddle.net)會複製你所遇到的問題? – Yass

回答

1

你沒有顯式調用draggable上了加菜單中的新項目。

像這樣的工作:

$('.notActive').draggable({ //.notActive is an item in the menu 
    stop: function(){ 
    $(this).removeClass('notActive'); 
    $(this).addClass('active'); //make it an active item 
    //Create a new object 
    var newItem = $('<div class="item notActive">Furniture</div>'); 
    //Make the new item "draggable" and add it to the menu 
    newItem.draggable(); 
    $('#menu').append(newItem); 
    //this creates a new item in the menu 
    } 
}); 

Fiddle example

+0

亞斯!這工作:),謝謝 – EasyBakeOven

+0

不客氣:) – Yass

相關問題