Мы можем сделать все элементы класса 'button' кнопками пользовательского интерфейса JQuery, используя следующие
$('.button').button();
Но что, если мы хотим, чтобы любые будущие элементы добавлялись также как кнопки пользовательского интерфейса.
Как мы можем этого достичь?
Боюсь, вам придется явно вызывать метод после добавления элемента.
например, если вы добавляете кнопку в div с идентификатором xyz, тогда
xyz
$("#xyz").append(" <button>").button();
Я все еще ищу лучшее решение и выложу , если Я найду одно
Если вы добавляете их в четко определенном месте, тогда вы можете просто сделать что-то вроде:
var newButton = $("<input>", { type: "button" }); $("body").append(newButton); newButton.button();
Или вы можете использовать плагин LiveQuery (как предложено JohnP) и прослушайте события добавления DOM:
$(".button").livequery(function() { $(this).button(); });
Возможно, вы захотите использовать метод delegate. Вы можете найти больше об этом здесь: http://api.jquery.com/delegate/
delegate
$('yourSelector').yourHandler();
становится
$('yourSelector').delegate('yourHandler');
Вы сможете использовать livequery для повторной инициализации вызовов плагинов: http://brandonaaron.net/code/livequery/docs