2012-12-15 188 views
2

我正在實現使用jQuery UI DraggableDroppable小部件的拖放操作。 (Sortable並沒有爲我提供足夠的靈活性。)動態創建可拖放元素

當我拖動時,我動態地創建了一個drop佔位符元素來精確地顯示放置放置的位置。

但是,我怎樣才能讓這個放置佔位符本身droppable?如果我創建它,然後立即調用其上的droppable()方法,則不起作用。如果他們的用戶直接丟棄在drop placeholder上,我怎麼能檢測到這一點?

你可以看看我目前在http://jsbin.com/uciviy/14

+0

你有沒有想過切換到HTML5並利用它的[拖放](http://www.w3schools.com/html/html5_draganddrop.asp) – bobthyasian

+0

是的,但我沒有想到一種方法強迫我的所有用戶升級到兼容HTML5的瀏覽器。 –

+0

啊,是的,這是一個古老的難題。你介意分享一些代碼嗎?可能引發一個想法。 – bobthyasian

回答

3

可以動態創建div並使其可放下。

您既可以通過JQuery創建div,然後使其可放下,也可以在拖動事件在可拖動元素上開始時創建可放置的div,並且該元素可以放在創建的新div上。這可能是這樣的:

$("<div>Dynamic Droppable Div</div>").droppable(dropOptions).appendTo("#anotherDiv"); 

Fiddle here

+0

我抓取錯誤:「dropOptions undefined」..plz幫助我 –

+0

我已經使用:$(「#」+ appendID).after(NewDropPanelv).droppable(); –