无法使用jQuery移动
问题描述:
演示页用于测试何时返回元件的宽度():http://jsfiddle.net/rCKzs/无法使用jQuery移动
<script type="text/javascript">
$(document).ready(function() {
alert($("#test").width());
});
</script>
..
<div id="test">content</div>
如果删除了jQuery移动,那么它是好的,否则返回0。
答
不要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());
});
对于我的具体问题我的div仍然给出0的高度,但绑定到'.live('pageshow',...'(如上所示)效果很好。 – Ojen 2014-12-26 18:07:14