- 时间:2022-10-01 19:55 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:jquery mobile动态添加元素之后不能正确渲染解决方法说明
jquerymobile动态添加元素之后有些不能被正确渲染的解决方法:
listview: 添加 jq(".detail").listview("refresh");
div或其他:添加.trigger( "create" );
======================================================================
jqm在初始化页面时会根据data-xxx在各元素中插入jqm的属性和类等。在页面初始化结束后,如果动态的插入一个元素,往往显示很丑陋,因为没有插入jqm的样式。这个可以用浏览器里的开发工具来查看,会发现有些元素多了很多类,而动态插入的元素代码还是你写的那样子。
如果要使动态插入的元素具有jqm的样式,可以对jqm对象触发create事件:
[url=http://stackoverflow.com/questions/7663078/jquery-mobile-page-refresh-mechanism]http://stackoverflow.com/questions/7663078/jquery-mobile-page-refresh-mechanism[/url]
[b]不使用jqm样式:[/b]
如果不希望jqm自动初始化你的元素,有两种方法。加入data-role="none"属性,或者在mobileinit事件中对keepNative选项进行配置
$(document).bind('mobileinit',function(){
$.mobile.page.prototype.options.keepNative = "select, input.foo, textarea.bar";
});