我之所以选择 jQuery Mobile,是因为它的动画功能和动态页面支持,而不是其他框架。
然而,我在造型方面遇到了麻烦。我想保留基本页面样式以便执行页面转换。但我还需要完全自定义标题、列表视图、按钮、搜索框的外观……仅处理颜色是不够的。我需要处理尺寸、位置、边距、填充等。
因此,我很难使用 jQuery Mobile 添加的额外 div 和类,以便用 CSS 覆盖它们。但是太费时间了,从头重写css会快很多...
有没有办法加载最小的 jQuery Mobile css 文件?
或者我应该寻找其他移动框架?我需要处理页面转换、ajax 调用、Cordova 兼容性,当然还有完全可定制的 html/css...
防止标记增强的方法:
这可以通过多种方式完成,有时您需要将它们结合起来才能达到预期的结果。
-
方法一:
它可以通过添加这个属性来做到这一点:
data-enhance="false"
到页眉、内容、页脚容器。
这也需要在应用加载阶段进行:
$(document).on("mobileinit", function () {
$.mobile.ignoreContentEnabled=true;
});
在 jquery-mobile.js 初始化之前对其进行初始化(请看下面的示例)。
有关此内容的更多信息可以在这里找到:
http://jquerymobile.com/test/docs/pages/page-scripting.html http://jquerymobile.com/test/docs/pages/page-scripting.html
例子:http://jsfiddle.net/Gajotres/UZwpj/ http://jsfiddle.net/Gajotres/UZwpj/
要再次重新创建页面,请使用以下命令:
$('#index').live('pagebeforeshow', function (event) {
$.mobile.ignoreContentEnabled = false;
$(this).attr('data-enhance','true');
$(this).trigger("pagecreate")
});
-
方法二:
第二个选项是使用此行手动执行此操作:
data-role="none"
例子:http://jsfiddle.net/Gajotres/LqDke/ http://jsfiddle.net/Gajotres/LqDke/
-
方法三:
可以阻止某些 HTML 元素进行标记增强:
$(document).bind('mobileinit',function(){
$.mobile.keepNative = "select,input"; /* jQuery Mobile 1.4 and higher */
//$.mobile.page.prototype.options.keepNative = "select, input"; /* jQuery Mobile 1.4 and lower */
});
例子:http://jsfiddle.net/Gajotres/gAGtS/ http://jsfiddle.net/Gajotres/gAGtS/
在初始化 jquery-mobile.js 之前再次初始化它(看下面的示例)。
在我的其他教程中阅读更多相关信息:jQuery Mobile:动态添加内容的标记增强 http://www.gajotres.net/how-to-remove-jquery-mobile-styling/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)