Я создаю простой конструктор форм, чтобы поиграть с jQueryUI. У меня есть список элементов формы, так же как изображения, которые я сделал перетаскиваемыми, настроены на хелпер-клон. У меня также есть dropable область, на которой я установил событие drop, чтобы прочитать идентификатор отброшенного изображения и создать соответствующий элемент формы и добавить его в область droppable. Как только я добавлю новый элемент, я тогда настраиваю его на перетаскивание. Проблема в том, что, несмотря на то, что на них были вызваны новые элементы, имеющие класс ui-draggable, они не перетаскиваются. Я хочу, чтобы их можно было перетащить, как только они были созданы.Недавно добавленные элементы не становятся перетаскиваемыми
Вот код: -
var itemCount = 1;
var idToAdd;
var itemToAdd;
$(document).ready(function(){
$(".draggable").draggable({
opacity:0.5,
helper: "clone"
});
$(".form_builder").droppable(
{
activeClass: "droppable_dragged",
drop: function(e, ui){
var dropped_item = ui.draggable;
switch($(dropped_item).attr("id")){
case "text_box":
idToAdd = "textBox" + itemCount;
itemToAdd = "<input id='" + idToAdd + "' type='text' />";
break;
case "text_area":
break;
case "radio":
idToAdd = "radio" + itemCount;
itemToAdd = "<input id='" + idToAdd + "' type='radio' />";
break;
case "check":
idToAdd = "check" + itemCount;
itemToAdd = "<input id='" + idToAdd + "' type='check' />";
break;
case "dropdown":
break;
case "file":
idToAdd = "file" + itemCount;
itemToAdd = "<input id='" + idToAdd + "' type='file' />";
break;
case "button":
idToAdd = "button" + itemCount;
itemToAdd = "<input id='" + idToAdd + "' type='submit' />";
break;
}
itemCount++;
$(this).append(itemToAdd);
$("#" + idToAdd).draggable();
}
});
});
Можете ли вы настроить jsfiddle, пожалуйста, http://jsfiddle.net/ –
В своем 3-м редактировании удалены строки, которые вы устанавливаете itemToAdd! –
jsFiddle здесь http://jsfiddle.net/jayhouse072/7HUt2/ – Carbonara