Сохранить классы элементов jquery-ui после jquery .load()
У меня есть страница, на которой я использую вкладки пользовательского интерфейса jQuery. Я загружаю содержимое каждой вкладки через Ajax, но проблема в том, что в содержимом моих вкладок есть кнопки (я Я использую кнопку jQuery UI) потерять все свои классы JQuery UI, что означает:
Когда страница загружается в первый раз, мои кнопки выглядят так:
<button class="my_button ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only">
<span class="ui-button-icon-primary ui-icon ui-icon-plusthick"></span>
</button>
Как видите, у моих кнопок есть все классы jquery-ui ui-button, ui-widget, etc...
, Кроме того, мои кнопки имеют диапазон, который отображает знак плюс (+) в качестве метки для моих кнопок. Поэтому мои кнопки отображаются правильно.
Но когда я загружаю тот же контент (который содержит те же кнопки) через Ajax, мои кнопки становятся такими:
<button class="my_button"></button>
Как видите, я теряю все jQuery UI-классы моей кнопки. Поэтому кнопка не имеет стиля
Как я могу это исправить?
ПРИМЕЧАНИЕ. Обратите внимание, что я не добавлял эти классы jquery-ui вручную в мои кнопки в моем HTML. Когда вы инициализируете кнопки с помощью $(".my_button").button();
в jQuery jQuery автоматически применяет все необходимые классы jquery-ui к моей кнопке соответствующим образом. Поэтому, пожалуйста, не говорите мне, что это потому, что я не назначил классы jquery-ui моим кнопкам заранее (я не должен был это делать). Кроме того, я пробовал .live (), .delegate (), ни одна из этих работ.
Пожалуйста, помогите мне с этим кто-нибудь
Спасибо
1 ответ
Я однажды столкнулся с этой проблемой и решил эту проблему с помощью document.ready звоните как
function myreadyFunc(){
$(".my_button").button();
// Other codes
}
У меня был свой документ. Уже как следующий
$(document).ready(function(){
myreadyFunc();
});
После каждого вызова ajax (успех) я звонил
myreadyFunc();
Надеюсь, это вам тоже поможет. Я использовал этот подход для выполнения кода document.ready, что было невозможно при вызове document.ready после каждого вызова ajax.