JQuery Mobile, как запустить скрипт только один раз на pageinit - PullRequest
1 голос
/ 16 декабря 2011

У меня проблема с мобильным jquery и вложенными списками. Когда я загружаю страницу в первый раз, она выглядит великолепно, но когда я перемещаюсь по списку мобильных устройств jquery, он не запускает скрипт, потому что он находится в документе.

Я нашел решение, используя

$('[data-role="page"]').live('pageinit', function (event) {
}

но затем скрипт запускается 6 раз, потому что у меня на сайте 6 data-role = "page". Как я могу запустить скрипт только один раз на "pageinit".

Я пытаюсь манипулировать страницей, поэтому я не хочу просто выбирать первую / запускать код только один раз.

1 Ответ

1 голос
/ 12 марта 2012

Не уверен, что это ваша проблема, но она была моей. Две вещи. Во-первых, убедитесь, что вы случайно не ссылались на файл jQasery Mobile jQuery более одного раза. Это приводит к плохим вещам. Во-вторых, вы можете добавить это на свою первую страницу:

$(document).bind("mobileinit", function () {
    // As of Beta 2, jQuery Mobile's Ajax navigation does not work in all cases (e.g.,
    // when navigating from a mobile to a non-mobile page), hence disabling it.
    $.mobile.ajaxEnabled = false;
});

Тогда вы захотите использовать:

$("#pageName").bind("pageinit", function (event) {
   // Start code here
});
...