Селектор идентификатора JQueryMobile не поднимает элемент - PullRequest
0 голосов
/ 20 сентября 2011

Почему этот селектор не работает? Я использую последнюю версию JQuery Mobile (1.0 b3) и jquery 1.6.2

селектор

function updateStatusBar(statusMessage) {
    alert("Hello World!");
    $("#status-bar").html(statusMessage);
}

Разметка

...
<div data-role="footer" data-theme="<?php echo $data_theme; ?>">
    <div id="status-bar"></div>
</div>
...

и для целей тестирования у меня есть функция updateStatusBar, вызываемая из

$(document).bind("mobileinit", function(){
    updateStatusBar("Foo Bar");
});

Однако в том виде, в каком он стоит, видно только предупреждающее сообщение. innerHTML div не обновляется. Это даже проблема селектора? Я должен упомянуть, что у меня есть другая функция на той же странице с селекторами "[class*=ui-bar-], [class*=ui-body-], [class*=ui-btn-]", и это работает .. поэтому я уверен, что все библиотеки включены правильно.

1 Ответ

2 голосов
/ 20 сентября 2011

mobileinit - для настройки параметров в jQuery Mobile, а не для выполнения каких-либо действий, когда документ готов.DOM не обязательно готов к использованию на этом этапе.

Вместо этого следует использовать pageInit (или просто изменить свой «mobileinit» на «pageinit», это должно сделать то же самое).

http://jquerymobile.com/test/docs/api/globalconfig.html

(отредактировано для обозначения pageInit, поскольку вы должны использовать его вместо .ready() в jQuery mobile, поскольку контент загружается AJAX после того, как DOM готов)

...