2012-01-07 68 views
2

演示頁用於測試何時返回元件的寬度():http://jsfiddle.net/rCKzs/無法使用jQuery移動

<script type="text/javascript"> 
    $(document).ready(function() { 
     alert($("#test").width());   
    }); 
</script> 

.. 

<div id="test">content</div> 

如果刪除了jQuery移動,那麼它是好的,否則返回0。

回答

2

不要JQM使用的document.ready:

重要須知:pageInit(),而不是$(文件)。就緒()

你的jQuery學習的第一件事就是調用代碼 $(document).ready()函數內部,所以一切都會立即執行作爲 DOM加載。但是,在jQuery Mobile中,Ajax用於在導航時將每個頁面的 內容加載到DOM中,DOM準備好的 處理程序僅對第一頁執行。要在加載和創建新頁面時執行代碼,可以綁定到pageinit事件。 此事件在本頁底部詳細解釋。

而且JQM只支持的jQuery 1.6.4

結合pageinit時,我會用活()這樣的

$('div').live('pageshow',function(event, ui) { 
    alert($("#test").width()); 
}); 
+0

對於我的具體問題我的div仍然給出0的高度,但綁定到'.live('pageshow',...'(如上所示)效果很好。 – Ojen 2014-12-26 18:07:14