Исходя из ответа здесь https://stackoverflow.com/a/1207393/1786228 и теперь довольно старый JQuery плагин (http://www.erichynds.com/jquery/jquery-create-event/)Правильный метод вызова .each на динамически создаваемые элементы?
Что такое правильное событие для on
поймать, когда создаются новые элементы? Например, у меня есть поля ввода, в которых я устанавливаю typeahead/autocomplete. Я делаю это с:
$(.input_box).each(function() {
// set stuff here
// setup options etc
// apply autocomplete plugin to element (this is a jQuery plugin)
var ac = $(this).autocomplete(acOptions);
});
У меня есть кнопка, позволяющая добавить в форму несколько одинаковых полей ввода. Как я могу назвать эту функцию .each
только для нового поля ввода? Если я снова использую $(.input_box).each...
, в исходных боксах добавлен плагин второй раз.
В основном я хочу сделать ниже, но нет привязки к «созданию».
$(document).on("create", "input_box", function(e) {
// set stuff here
// setup options etc
// apply autocomplete plugin to element (this is a jQuery plugin)
var ac = $(this).autocomplete(acOptions);
});
Есть ли такое событие? Если нет, каков наилучший способ достижения этого?
Лично я бы не пойти на livequery плагин в вашем case.You может прийти в DOMNodeInserted, предложенном в спецификации DOM Level 2, но поскольку это было устарело в спецификации DOM Level 3, вы также не должны полагаться на его использование. Можно ли создать рабочую скрипту своего кода? – darshanags