Кажется, что у вас здесь что-то не так, хотя я не уверен, сколько из этого исходит из сводки jsfiddle и сколько в вашем полном коде.
Первое, что нужно отметить, это то, что 'pageshow' является событием перехода страницы. Кажется, что вы могли бы вместо этого использовать «pageinit». Вот как описывают документы jQM:
Запускается на инициализируемой странице после инициализации. Мы рекомендуем связываться с этим событием вместо DOM ready (), потому что это будет работать независимо от того, загружается ли страница напрямую или содержимое перетаскивается на другую страницу как часть системы навигации Ajax.
$( '#aboutPage' ).live( 'pageinit',function(event){
alert( 'This page was just enhanced by jQuery Mobile!' );
});
Также обратите внимание, что 1) событие связывается с live () вместо on () (не знаю, есть ли разница), и 2) оно привязывается к определенному идентификатору для jQM 'page'. Это часть того, чего не хватает в вашем примере с jsfiddle. Там нет никаких именованных страниц JQM. В некотором роде jQM портит идею о готовности страницы, поскольку все находится в одном html-файле, а затем разбивается на части с использованием идентификаторов и вставляется через AJAX.
И так, наконец: Даже если jQM скажет, что нет, если ваша цель - добавить этот класс к каждой метке на каждой странице jQM, я бы использовал старый добрый $ (document) .ready (), а затем использовал бы $ .each (), чтобы изменить их все за один раз. Опять же, из документов JQM:
Однако в jQuery Mobile Ajax используется для загрузки содержимого каждой страницы в DOM во время навигации, а обработчик готовности DOM выполняется только для первой страницы. Чтобы выполнить код при загрузке и создании новой страницы, вы можете привязаться к событию pageinit.
Так что в $ .ready () нет ничего плохого, просто это событие вызывается только один раз, поэтому последующие переходы страниц не вызовут его. Но это может быть именно то, что вы хотите в первую очередь.
Этот код работает на jsfiddle:
$(document).ready( function(event) {
$("label").each( function(index, element) {
element.addClass("ui-hidden-accessible");
});
});
Если на вашем реальном сайте вы заметили, что переходы страниц приводят к возвращению меток, тогда вы захотите привязать что-то еще, опять же, вероятно, «pageinit».
Надеюсь, это поможет! Извиняюсь за многословие ... Я как-то пошёл туда, да?