1、在浏览器中点击一个链接打一个新的页面时,jQuery Mobile接收这个链接,通过AJAX的方式请求链接页面,并把请求得到的内容注入到当前页面的DOM里而不是新创建一个dom,所以不会加载链接页面的js。这样会导致用户手动刷新页面时只有当前页面的js有效,也不能根据转场页面自动加载js,所以需要在第一个页面就加载所有的js。
解决方法:把所有的js在访问的第一个页面就全部加载进来,所有的page都写在一个文件里。
2、因为所有的page在一个页面,而且只有一个dom,所以id不能重复
解决方法:每个page的元素的id加后缀来区别
3、对话框dialog的问题,对话框会把整个page覆盖住,页面四周没有被占满的会是黑色的 解决方法:不用dialog,改用弹出层popup
4、弹出层popup,没有模态效果,点击其他位置,会消失不见 解决方法:page初始化时,增加样式id为弹出层的id $(\
popupbeforeposition: function () { $('.ui-popup-screen').off(); }});
5、弹出弹出层
通过标签弹出弹出层
通过js代码调用弹出层 $(\初始化
$(\打开
$(\关闭
弹出位置data-position-to=“window”,在屏幕的中央,origin:在所单击的控件的上面,“#id”在指定的组件为id的上面 6、分组的listview collapsible
data-inset=\ class=\
js代码刷新$(\7、单选按钮
$(\刷新 8、下拉菜单select
$(\
9、input[type=radio] 和label联合使用时,及获取label的值 解决方法:
$.mobile.changePage(“#pageID”,{transition:pop}) Transition转场效果:{fade,slide,pop,。。。等} 14、弹出层的最大宽度等于手机屏幕的宽度 Style=”max-width:$(window).width();” 15、固定header和footer,使不随滚动条滑动 Data-position=”fixed”
相关推荐: