5

我原来有这样的 div 元素..

<body>
    <canvas id="pageflip-canvas"></canvas>
    <div id="pages">
        <section>

        </section>
    </div>
<script type="text/javascript" src="index.js"></script>
</body>

但是当我使用 JQuery-Mobile 运行时,它变成了这样

<body class="ui-mobile-viewport ui-overlay-c">
<div data-role="page" data-url="/C:/AppServ/www/guiBook2/index.html"
 tabindex="0"  class="ui-page ui-body-c ui-page-active" style="min-height: 681px;">
    <canvas id="pageflip-canvas" width="1366" height="681"></canvas>
    <div id="pages">
        <section style="z-index: 1;">

        </section>
    </div>
<script type="text/javascript" src="index.js"></script>

</div><div class="ui-loader ui-corner-all ui-body-a ui-loader-default"><span class="ui-icon ui-icon-loading"></span><h1>loading</h1></div></body>

如何防止它创建这些 DIV 我对 css 类没问题

但额外的 div 会使内容宽度发生变化。

预先感谢

4

1 回答 1

5

这是做不到的。如果jQuery Mobile使用它,它将接管 Web 应用程序。这是意料之中的,因为jQuery Mobile它不是一个经典的框架。因为一切都是通过 ajax 完成的,所以每个内容都必须用DIV属性包裹起来data-role="page"。如果这DIV在这个问题中不存在,它将自动创建并且无法阻止。

有几种方法可以防止内容被样式化,但没有什么可以防止内容被包装到.jQuery Mobile CSSdata-role="page" DIV

如果您想了解有关这些方法的更多信息,请查看我的文章,为了透明,这是我的个人博客。或者在这里找到它。一切都在名为:标记增强预防方法的章节中进行了描述。

底部 DIV-s 也是需要的,因为它们也用于指示页面/内容加载,基本上它是一个必要的 jQuery Mobile 组件。AJAX但是如果关闭,它可以被删除。但是jQuery Mobile如果AJAX关闭了有什么意义。

最后一件事要考虑,如果只需要一些 jQuery Mobile 功能,那么可以重新构建框架,以便它可以只包含所需的功能。这个链接可以在这里找到,不要忘记选择需要的jQuery Mobile版本。

于 2013-06-20T07:58:21.427 回答