Сохранить классы элементов 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.

Другие вопросы по тегам