2012-11-20 101 views
3

我使用可拖動和可排序的列表來拖動項目並在它們之間進行排序。但是,我擁有的物品是可滑動的(即點擊它們來隱藏/隱藏內容)。當我將一個項目從一個列表拖到另一個列表中時,滑動效果將丟失。另外,如果我有隱藏子節點的項目,並且將項目拖到另一個列表中,則只拖動該項目(沒有任何子項內容)。下面是代碼jquery可拖動的隱藏內容

http://jsbin.com/ujivav/1/edit

回答

3

KHY是正確的,但你也可以改變click事件使用on代替,就像這樣:

$('body').on('click', '.clicktohide',function(){ 
    $(this).siblings().slideToggle('fast'); 
}); 

下面是一個例子http://jsbin.com/ujivav/4/edit

+0

哇!那很棒。這就是我一直在尋找的。謝謝:) – mavili

+1

不是問題:)歡迎來到SO! – gotohales

2

我相信這是因爲隨着「咔嚓」事件的綁定,一旦你的初始頁面加載發生。鑑於此,在您的示例中,被拖動後,具有「.clicktohide」類的元素將被複制,但重複元素不在「click」事件綁定到的選擇中。

我想你必須通過實現一個回調函數來在被拖動的元素上綁定這個事件,當「stop」事件被觸發時被調用。

+0

我是JS和jQuery的新手,你能否詳細介紹一下「stop」事件。在這種情況下我會在哪裏使用它? – mavili

0

它看起來並不像「克隆」重創建事件處理程序,只是DOM元素。請嘗試在「停止」事件中手動複製。這樣你可以告訴它如何處理新的DOM元素。