jquery mobile动态添加元素
动态添加li
$('ul').append('<li>内容</li>').listview('refresh');
动态添加ul
$('div').append('<ul data-role="listview"><li>内容</li></ul>').trigger('create');
动态添加option
$('select').append('<option value="1">内容</option>').selectmenu('refresh');
jquery mobile 多个页面间切换时,遇到页面内容不变的情况,首先检查data-role="page"的id,确保id不同。在不禁用ajax的情况下,id相同,jqm不会发起新的请求,而是直接调用缓存。
jquery mobile 开启页面缩放
在jquery mobile中页面缩放默认是关闭的。要开始缩放功能,只需在header或footer标签添加data-disable-page-zoom=false属性即可。
<div data-role="header|footer" data-disable-page-zoom="false">
注:开启缩放时,data-role=header|footer中都不能有data-position="fixed"属性。
jquery mobile转跳页面时闪动问题的解决
<a href="url" data-transiation="slide">文本</a>
slide转跳时当前页面滚动条会跳到页面顶端
slidefade不会出现这种问题
以下CSS解决进入目标页面后闪一下的问题,效果还不错
slide转跳时当前页面滚动条会跳到页面顶端
slidefade不会出现这种问题
以下CSS解决进入目标页面后闪一下的问题,效果还不错
.ui-page { backface-visibility:hidden; -webkit-backface-visibility:hidden; /* Chrome 和 Safari */ -moz-backface-visibility:hidden; /* Firefox */ -ms-backface-visibility:hidden; /* Internet Explorer */ }
jquery mobile 禁用ajax
局部禁用ajax,只需在a标签上添加 data-ajax="false" 或 rel="external" 站外链接)
全局禁止ajax,需要在jquery.js之后、jquery.mobile-1.4.5.js引用之前添加:
<script>$(document).ready(function(){jQuery.mobile.ajaxEnabled = false;});</script>
jquery mobile pageinit等事件多次执行的解决
如果从页面A到B再返回A时,页面A中的pageinit、pageshow等事件会执行多次,解决方法是给当前页面的page(data-role='page')绑定一个变量。
$(document).on('pageinit', '#pageid', function(){ if(!$(this).data('loaded')){ $(this).data('loaded', true); alert(0); }; });
jquery mobile 1.4+ 调用和关闭loading
$.mobile.loading('show', { text: '加载中……', //加载器中显示的文字 textVisible: false, //是否显示文字 theme: 'a', //加载器主题样式a-e textonly: false, //是否只显示文字 html: '' //要显示的html内容,如图片等 }); $.mobile.loading('hide');