1

所以我第一次使用jQuery mobile。

我已经添加了它,并且我有 swiperight 功能可以返回上一页。

然而,当我四处浏览时,我注意到有几件事是以添加 jQuery mobile 为代价的。我设法通过使用来停止更改输入等元素$( "input, textarea, select", e.target ).attr( "data-role", "none" );

1)。加载消息显示在屏幕底部。我通过使用删除了它,$.mobile.loadingMessage = false;但是当不需要它时它仍然会导致滚动条,这会导致我的页脚下方出现一条白线。

2)。在我的一个页面上,我有以下代码现在不再有效:

$(document).ready(function() {

    $("#arrow_click").click(function(){

        var theclass = $(this).attr("class");

        if(theclass == "icon-chevron-down"){
            $("#table_cont").hide();
        } else if(theclass == "icon-chevron-up"){
            $("#table_cont").show();
        }

    });

});

任何人都可以阐明这两个问题吗?

谢谢

4

1 回答 1

2

Jquery 在最后页面添加了下面的加载 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>

要摆脱它,您有两个选择,要么 . hide();它或.remove();它通过调用 div 的类ui-loader。尝试任一解决方案。

把它藏起来。

.hide();display: none;样式添加到 div,但不会删除它。

$(document).on("pageshow", "[data-role='page']", function () {
 $('div.ui-loader').hide();
});

去掉它。

.remove();删除 div 及其内容。所以你需要明智地使用它,以防你想在其他页面中显示加载消息。

$(document).on("pageshow", "[data-role='page']", function () {
 $('div.ui-loader').remove();
});

如果您想在某些页面中保留加载消息,请class为没有加载消息的页面分配 a ,.no-loadmsg并使用上面相同的代码,而不是[data-role='page']add [data-role='page'].no-loadmsg

$(document).on("pageshow", "[data-role='page'].no-loadmsg", function () {
 $('div.ui-loader').remove();
});

这将从.no-loadmsg仅具有类的所需页面中删除加载 div。

我希望以上内容可以解决您的问题。

于 2013-03-09T16:03:40.490 回答