当我导航到jQuery Mobile中的页面时,没有调用Javascript函数

时间:2013-05-29 22:43:31

标签: jquery jquery-mobile

我有一个简单的jQuery Mobile应用程序,基本上有2页。

第一页只有一个按钮:

  <a href="location.html" data-theme="b" data-role="button" data-icon="arrow-r">Create Report</a>

点击按钮后,我导航到location.html,此页面有自己的JS文件,该文件内有以下内容:

(function( $, undefined ) { 
    $( document ).on( "pageshow", function(){
        initMap();
    });
})( jQuery );

然而,当我到达页面时,JS函数initMap();没有被调用,如果我刷新页面函数被调用但是当我使用主页上的按钮导航时没有。

如何在每次导航到此页面时确保调用此函数?

2 个答案:

答案 0 :(得分:1)

我希望您的location.html页面有ID。如下所示

<div data-role="page" id="location">
</div>

更改您的js文件内容,如下所示

$(document).on('pageshow', '#location', function(){
   initMap();
});

现在每次访问页面时都会调用该函数。

答案 1 :(得分:0)

为什么不试试这个

pageScript(function($context){
  $context.bind("pagecreate", function(event, ui) {
    initMap();
  });
});

在这里查看更多功能

http://markdalgleish.com/2011/04/document-ready-for-jquery-mobile/