2014-12-01 3 views
0

У меня есть две страницы в одном файле, как так:JQuery мобильного pagecontainershow событие связывание правильного пути

<section id="firstpage" data-role="page"> 
    <header data-role="header"> 
     <h1>Event Example</h1> 
    </header> 
    <div class="ui-content"> 
     <p>This is page 1<a href="#secondpage">click here</a></p> 
    </div> 
</section> 

<section id="secondpage" data-role="page"> 
    <header data-role="header"> 
     <h1>Event Example</h1> 
    </header> 
    <div class="ui-content"> 
     <p>This is page2</p> 
    </div> 
</section> 

в основном я хочу событие pagecontainershow огня по SecondPage шоу , что я хочу сделать, что, когда «SecondPage «Загрузка, которую я хочу выполнить, запускает некоторый код инициализации. проблема я столкнуться в том, что вторая странице разве активны в йоте это извлекалось AJAX, так как я связать события на показе второй страницы

, что я сделал это

$(document).on("pagecontainershow", function (event, ui) { 
var activePage = $.mobile.pageContainer.pagecontainer("getActivePage"); 
    if(activePage[0].id=="secondpage"){ 
    //do the initialization for second page 
    } 
    }); 

pagecontainershow show event - это то, что я хочу, но оно срабатывает для каждой страницы, как я могу привязать его к огню только на второй странице.

+0

pagecontainershow предназначен для огня для каждой страницы. вы затем используете ui.toPage, чтобы определить, отображается ли страница, представляющая интерес: http://api.jquerymobile.com/pagecontainer/#event-show – ezanker

ответ

0

Я могу просто подумать о двух альтернативах, которые, я думаю, не будут иметь никакого значения, но, возможно, стоит попробовать:

1) использовать дивы вместо секции

2) использовать объект пользовательского интерфейса для получения текущей страницы вместо метода getActivePage, как показано ниже:

$(document).on("pagecontainershow", function(event, ui) { 
var pageId = ui.toPage.prop('id'); 
if(pageId ==='secondpage'){ 
    //do the initialization for second page 
} 
});