如何阻止JQM设置页面样式?

时间:2012-04-04 15:45:00

标签: jquery-mobile

我有一个JQM应用程序,其中包含一个我不想要设置样式的特定页面。

到目前为止,我所发现的只有data-role='none' - 但我不想将其应用于页面上的每个元素......如果只关闭这一页,是否有办法关闭?

2 个答案:

答案 0 :(得分:15)

您可以将data-enhance="false"$.mobile.ignoreContentEnabled=true结合使用,以停止jQuery Mobile对伪页面的自动增强功能:

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.css" />
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script>
$(document).on('mobileinit', function () {
    $.mobile.ignoreContentEnabled = true;
});
</script>
<script src="http://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.js"></script>

<div data-enhance="false" data-role="page">
    ...
</div>​

您必须更改ignoreContentEnabled标志的原因是因为搜索data-attribute的父元素需要占用大量CPU资源,所以默认情况下这是关闭的。

以下是演示:http://jsfiddle.net/ZtJyL/1/

答案 1 :(得分:4)

正如我已经指出here,您还可以使用专门构建的官方theme-less version of the CSS来设计自定义主题。

根据我的经验,使用像data-enhance="false"data-role="none"这样的黑客常常会破坏结构化的非主题CSS。

使用这种方法,你可以保留所有jQuery Mobile的基本功能,你不必一直与黑客和覆盖战斗,你可以获得更轻的CSS作为奖励。