使用jquery mobile 1.1.0,许多设备可以拥有不同的高度,以填充空白区域: content_height = screen_height - header_height - footer_height
唯一真正等待的事件,直到计算实际高度的所有内容都是
$(window).load
我的问题:因为使用ajax导航系统,window.load只会触发一次,我测试了很多加载登台事件:
$(document).bind('pagechange', func..)
$(document).bind('pageload', func..)
依旧......
我的问题:是否有一个jquery移动事件会在每个页面加载时启动,并且足够晚才能加载大小?或者在加载内容时对方法进行任何其他方式。
答案 0 :(得分:0)
小提琴:http://jsfiddle.net/ca11111/CAtWG/
如果您想在页面满载时执行操作:
在你的HTML中:
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).bind("mobileinit", function(){
//$.mobile.loadingMessageTextVisible = true;
// set global config of jquery mobile here
});
</script>
<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>
<script type="text/javascript" src='test.js'></script>
然后输入你的test.js文件:
$("#Mypage1").live("pagecreate", function() {
//do stuff when Mypage1 is created
// happens once if you don't explicitly refresh
alert("Mypage1 created");
$("#mydiv").height($("body").height() - 50);
});
$("#Mypage1").live("pageshow", function() {
//do stuff when Mypage1 is shown
// happens multiple times, as soon as you go to Mypage1 from other pages
alert("Mypage1 visible");
});
您可能也在寻找方向更改事件,因此添加:
$(window).bind('orientationchange', _orientationHandler);
if(event.orientation){
if(event.orientation == 'portrait'){
//do something
}
else if(event.orientation == 'landscape') {
//do something
}
}
如果您触发了自己的ajax请求,并希望修改html,只需在回调中执行:
$("#Mypage1").trigger("pagecreate");