Что такое селектор "mobile-pagecontainer"

jQuery Mobile имеет различные события и методы. События и методы pagecontainer используются для обработки большинства событий page от v1.4. Я не понимаю использование селектора :mobile-pagecontainer.

Документация API использует только $('.selector'), которая проста и понятна, но я не знаю, к какому объекту она относится. Я должен использовать его на $('div[data-role="page"]') или на $('body'). И что делает другой селектор :mobile-pagecontainer, означающий?

API: jQuery 1.4.0 API

Изменить: Кроме того, я нашел много примеров в stackoverflow и других сайтах, используя $(document), каково отношение ко всем этим?

Изменить 2: я создал крошечную скрипку, которая показывает событие pagecontainerbeforeshow, используя все 3 селектора $('body'), $(':mobile-pagecontainer') и $(document) Fiddle - PageContainer Events. Мое сердце испытывало благодарность и благодарность @Omar

Ответы

Ответ 1

$(":mobile-pagecontainer") является селектором, он относится к родительскому элементу страниц jQM, как к внутренним страницам, так и к внешним.

По умолчанию :mobile-pagecontainer - body. Его также можно назвать $.mobile.pageContainer (умственный капитал "C" в pageContainer).

.pagecontainer() - это функция, которая используется для изменения и загрузки страниц, а также для извлечения активной страницы.

Короче говоря, $(":mobile-pagecontainer")= $.mobile.pageContainer= $("body") (по умолчанию).

Значение :mobile-pagecontainer может быть переопределено на mobileinit, если вы хотите обернуть страницы другим элементом, чем body.

$(document).on("mobileinit", function () {
  $.mobile.pageContainer = $("#foo");
});
  • Чтобы изменить страницы (предполагается, что foo - это контейнер):

    $("#foo").pagecontainer("change", "#pageID or URL");
    
  • Чтобы загрузить внешнюю страницу:

    $("#foo").pagecontainer("load", "URL");
    
  • Чтобы получить активную страницу:

    $("#foo").pagecontainer("getActivePage");