12

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

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

4

2 回答 2

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标志的原因是因为在父元素中搜索 是 CPU 密集型的data-attribute,因此默认情况下它是关闭的。

这是一个演示:http: //jsfiddle.net/ZtJyL/1/

于 2012-04-04T17:58:43.247 回答
4

正如我在这里已经指出的那样,您还可以使用专门为允许设计自定义主题而构建的官方、无主题版本的 CSS 。

以我的经验,使用像结构性的、非主题的 CSS 一样的hackdata-enhance="false"并且经常破坏事物。data-role="none"

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

于 2014-10-27T14:44:12.430 回答