Я разрабатываю плагин для панели инструментов с jquery и функциональностью перетаскивания из jquery ui. Идея заключается в следующем: у меня есть список (ul) и элементы (li), где каждый из них представляет такой инструмент, как текст, геометрическая фигура и т. Д. когда я перетаскиваю инструмент, а затем опускаю его на контекст, должен быть создан «виджет». Проблема в том, что после того, как инструмент был уронен на контейнер, он больше не доступен из перетаскивания. Функция перетаскивания работает только один раз.
Надеюсь, вы можете помочь мне. Извините за мой английский.
вот код
Плагин
(function($){
//Attach this new method to jQuery
$.fn.extend({
//This is where you write your plugin's name
spkToolbar: function(options) {
//Set the default values, use comma to separate the settings, example:
var defaults = {
isDraggable:false
,droppableDiv:undefined
};
var options = $.extend(defaults, options);
//Iterate over the current set of matched elements
return this.each(function() {
var o = options;
$(this).addClass('toolbar');
if(o.isDraggable)
$('.toolbar').draggable();
$(this).addClass('spkToolbar');
var obj = $(this);
//Get all LI in the UL
var items = $("ul li", obj);
items.draggable({ appendTo: "body",helper: 'clone' });
if(o.droppableDiv!=undefined){
$(o.droppableDiv).droppable({
drop: function( event, ui ) {
// some extra code for proper widget creation
}
});
}
});
}
});
})(jQuery);
HTML
<div id="toolbar">
<ul>
<li id="save" title="Guardar cambios"><img src="<c:url value="images/toolbar/save.png" />" /></li>
</ul>
</div>
использование:
jQuery('#toolbar').spkToolbar({droppableDiv:'#new-dropcontainer'});
почти я забыл, я использую jquery 1.5 и jquery ui 1.8.1
Заранее спасибо