сохранить классы элементов jquery-ui после jquery .load () - PullRequest
5 голосов
/ 25 февраля 2012

У меня есть страница, на которой я использую jQuery UI Tabs , я загружаю содержимое каждой вкладки через Ajax, но проблема в том, что всодержимое моих вкладок, кнопки (я использую кнопка jQuery ui ) теряют все свои классы интерфейса jquery, что означает:

Когда страница загружается в первый раз, мои кнопки выглядят какthis:

<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 Ответ

4 голосов
/ 25 февраля 2012

Я однажды сталкивался с этой проблемой и решил эту проблему с помощью document.ready звоните как

function myreadyFunc(){
    $(".my_button").button();
    // Other codes
}

У меня был документ. Уже вроде

$(document).ready(function(){
    myreadyFunc();
});

После каждого вызова ajax (успешно) я звонил

myreadyFunc();

Надеюсь, это вам тоже поможет. Я использовал этот подход для выполнения кода document.ready, что было невозможно при вызове document.ready после каждого вызова ajax.

...