2014-01-15 2 views
3

Я читаю ниже. Api сделает доступный элемент на странице перетаскиваемой.Как сделать будущий элемент перетаскиваемым с помощью JQuery

$(".draggable").draggable({ containment: "parent" }); 

но в моем случае я буду строить новые элементы, основанные на действии пользователя. Как я разрешаю им вставлять текстовое поле над изображением, которое также нужно перетаскивать.

Есть ли механизм, в котором я могу прикрепить эту перетаскиваемую функцию с помощью jquery с помощью .on() "?

ИЛИ

Я должен выполнить $("this").draggable({ containment: "parent" }); каждый раз, когда я создаю новый элемент?

Спасибо за чтение

+5

Вы должны сделать элемент перетаскиваемым при создании. – Krishna

ответ

6

Есть ли механизм, в котором я могу прикрепить эту функцию с помощью перемещаемой с помощью JQuery «.он()»?

Нет (ну, технически да), вы должны сделать каждый элемент перетаскиваемым после его создания, или через какое-то событие, что происходит после того, как он создается (например, MouseEnter)

$(document).on("mouseenter", ".draggable:not(.initiated)", function() { 
    $(this).draggable({ containment: "parent" }).addClass("initiated"); 
}); 

инициированный класс предотвращает повторную инициализацию перетаскиваемого при каждом наведении мыши.

Примечание, вы должны использовать лучшего предка, чем документ, поскольку mousenter - это событие, которое часто случается с документом (произойдет в любое время, когда любой элемент в dom заштрихован).

Смежные вопросы