【问题标题】:How to ignore all CSS elements in jquery mobile如何忽略jquery mobile中的所有CSS元素
【发布时间】:2012-09-07 13:30:15
【问题描述】:

我想在移动网页上使用我自己的 CSS,同时也使用 jQuery mobile 来制作菜单幻灯片。

我怎样才能忽略他们所有的 CSS 元素?

我知道data-role="none" 属性会起作用,但不能将其应用于我的所有元素。

我也尝试在 jQuery CSS 之后包含我的 CSS,但没有成功。

【问题讨论】:

  • 如果有 $(*).css("*", "none !important") 或者不包含样式表会很方便:)
  • 关于data-role属性,为什么不能应用到所有元素上呢?是因为元素太多还是因为你想排除几个元素?

标签: jquery css mobile jquery-mobile


【解决方案1】:

您可以在mobileinit 事件处理程序中将autoInitializePage 选项设置为false,这样jQuery Mobile 就不会自动初始化任何东西。然后,您可以通过在其父元素上调用 .trigger("create") 来初始化单个小部件或一组小部件。

文档:http://jquerymobile.com/demos/1.1.1/docs/api/globalconfig.html

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

请注意,您需要在包含 jQuery 核心之后但在包含 jQuery Mobile 之前,在适当的位置绑定到 mobileinit 事件。

例如:

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.css" />
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script>
$(document).on("mobileinit", function () {
    $.mobile.autoInitializePage = false;
});
</script>
<script src="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script>

另请注意,默认情况下,jQuery Mobile 在 &lt;body&gt; 元素上设置 visibility : hidden,因此您需要一个 CSS 规则来覆盖它:

body {
    visibility : visible !important;
}​

【讨论】:

    【解决方案2】:

    不要包含他们的 css。

    【讨论】:

    • @Constantino:你能复制他们的 CSS 任何你不想要的删除和样式并使用副本吗?
    • 也试过了,但没成功。我还以为会有其他方法
    • 你说你想忽略他们所有的样式。那么答案很简单;)当然你需要包含你需要的样式。但肯定会奏效。
    • 如果不包含他们的 css,您将无法使用 jquery mobile。
    • @MichalKlouda 因为 jQuery Mobile 向其小部件添加了一堆 HTML 结构,并且没有 jQuery Mobile 的 CSS,该 HTML 结构看起来不像 OP 想要的(单个小部件已初始化)。
    猜你喜欢
    • 2011-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多