使用jQuery Mobile时未能返回元素的width()

Failed to return the width() of element when using jQuery Mobile

本文关键字:元素 width 返回 jQuery Mobile 使用      更新时间:2023-09-26

用于测试的演示页面:http://jsfiddle.net/rCKzs/

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

如果我删除jQueryMobile,那么它是可以的,否则它将返回0。

不要将document.ready与jQM:一起使用

  • http://jquerymobile.com/demos/1.0/docs/api/events.html

重要提示:使用pageInit(),而不是$(document).ready()

在jQuery中学习的第一件事是调用$(document).ready()函数,因此只要DOM已加载。但是,在jQueryMobile中,Ajax用于加载导航时将每个页面的内容放入DOM中,并且DOM已就绪处理程序只对第一页执行。只要加载并创建新页面后,您可以绑定到pageinit事件。本页底部将对此事件进行详细解释。

此外,jQM仅支持jQuery 1.6.4

我会像这个一样使用live()

$('div').live('pageshow',function(event, ui) {
    alert($("#test").width());  
});
  • http://jsfiddle.net/rCKzs/1/