Получить страницу, которая создается в jquery mobile - PullRequest
0 голосов
/ 26 сентября 2018

Я использую jQuery mobile 1.4.5

Я добавляю в документ следующее событие:

$(document).on("pagecreate", function (e) {

});

, и событие вызывается при просмотре новой страницы, мойВопрос в том, как получить идентификатор создаваемой страницы?$.mobile.activePage не определено, а getActivePage() из виджета контейнера страницы выдает ошибку:

не может вызвать методы на pagecontainer до инициализации;попытался вызвать метод 'getActivePage'

Любая помощь приветствуется.

РЕДАКТИРОВАТЬ:

Я использовал:

$.mobile.pageContainer.pagecontainer("getActivePage")[0].id

, и это делаетне выдает ошибки, но возвращает идентификатор текущей страницы, а не создаваемой страницы, какие-либо предложения?

1 Ответ

0 голосов
/ 27 сентября 2018

Отметьте event.target, вот демоверсия :

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
  <link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
  <script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
  <script>
    $(document).on('mobileinit', function () {
      function showme(e, ui){
        var activePage = $(":mobile-pagecontainer").pagecontainer("getActivePage").prop("id");
        $("#events").append("Event: "+e.type+" raised from: "+(activePage ? activePage : 'landing')+"<br>"); 
        if(activePage) {
          $("#events").append("Active Page: "+activePage+"<br>"); 
        } 
        if(e.target){
          if(e.target.id)
            $("#events").append("Target Page: "+e.target.id+"<br>") 
        } 
      } 
      $(document).on("pagecreate", function(e, ui) { showme(e, ui); }); 
    });
  </script>
  <script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
</head>
<body>
  <div data-role="page" id="page-1">
    <div data-role="header"><h1>Page 1</h1>
    <a href="#page-2" class="ui-btn ui-corner-all ui-btn-inline ui-mini">Go to Page 2</a>
    </div>
    <div role="main" class="ui-content">
      <div id="events">
      </div>
      <hr>
      Click "Go to page 2"
    </div>
  </div>
  <div data-role="page" id="page-2">
    <div data-role="header"><h1>Page 2</h1>
    <a href="#page-1" class="ui-btn ui-corner-all ui-btn-inline ui-mini">Back to Page 1</a>
    </div>
    <div role="main" class="ui-content">
      Page 2 has been created - Click back
    </div>
  </div>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...