2

我想要一個插件在JQM上運行,但我需要它等待並在頁面2處於活動狀態時加載。現在,它啓動時的加載。我的網頁已設置爲data-role='page'。這裏是我的代碼:獲取JS在JQM上加載頁面

$(document).ready(function(){ 
    $("#two").bind('pageinit') 
    jQuery(".namesleft").fitText(); 
    jQuery(".scoreleft").fitText(); 
    jQuery(".namesright").fitText(); 
    jQuery(".scoreright").fitText(); 
}); 

在此先感謝您的幫助

回答

1

這裏有一個工作的jsfiddle例如:http://jsfiddle.net/Gajotres/F2Gcm/

$(document).on('pageshow', '#index', function(){  
    $("h1").fitText(0.273); 
    $(".download").fitText(1); 
}); 

方法,而應使用現場方法綁定一個頁面事件,現場方法已過時,並且在jQuery中不存在1.9+。

此外,這應該綁定到頁面顯示事件,因爲它不會在任何其他情況下工作。 jQuery Mobile對插件做了嚴格的視覺更改,這種插件只能在pageshow事件中使用。

如果你想更深入的瞭解jQuery Mobile的頁面事件來看看這個ARTICLE,或者發現它HERE

+1

謝謝你,完美的作品 – user2185197

1

jQuery Mobile的具有$(document).ready替代。 代碼應該是這個樣子:

<script type="text/javascript"> 
     $('div:jqmData(role="page")').live('pagebeforeshow',function(){ 
      // code to execute on each page change 
     }); 
</script> 

事實上,JQM有一整套事件的替代正常jQuery的事件的: http://jquerymobile.com/demos/1.2.1/docs/api/events.html

+0

所以你說我的代碼應該看起來像這樣? ()函數(){jQuery(「。namesleft」)。fitText() ; jQuery(「。scoreleft」)。fitText(); jQuery(「。namesright」)。fitText(); jQuery(「。scoreright」)。fitText(); }); – user2185197

+0

是的,如果您只想在特定頁面上運行,您可以更改選擇器。 –

0

您可以在JQM的pageshow事件添加如下代碼:

$("#two").live('pageshow', function(){ 
    $(".namesleft, .scoreleft, .namesright, .scoreright").fitText(); 
}); 
+0

,使插件不工作,不知道爲什麼,但它確實 – user2185197