8

当我只在移动触摸屏设备上时,我会在我的网站上加载 jQuery Mobile。当我这样做的时候。它把一切都搞砸了。例如,选择菜单不能正常工作,页面底部也会出现“正在加载、正在加载、未定义”的字样。我知道我错过了一些东西,但不知道是什么。

关于我可能遗漏的任何想法?

谢谢

编辑:好的,所以我取出了我正在运行的所有脚本,除了 jQuery 和 jQuery Mobile。我首先调用 jQuery,然后调用 jQuery Mobile。它仍然破坏了网站的各个方面。

它打破了什么: - 我无法通过导航栏导航到任何其他页面,如果我单击导航项并查看 url,则会出现正确的 url(其中带有 #),例如:/#/about-us/然后,它只是重定向到主页,页面变白

  • 选择菜单有奇怪的结果。它打印出它旁边的选择中的任何内容。如果您在 ipad 上处于横向模式并单击选择,它会将您发送到页面底部(奇怪)。

  • 它在页面底部打印出两次“加载”和一次“未定义”

我所拥有的脚本只有 jQuery 和 jQuery Mobile。我还应该提到我正在使用 wordpress,因此它可能已将其他一些脚本排入队列(我已取消注册 Wordpress 的 jquery 版本并将我自己的脚本排入队列)

还有其他人遇到这些问题吗?

4

3 回答 3

12

jQueryMobile用一个替换您的正常链接Ajax,因此每个页面都可以由 ajax 加载,文档页面上的文本:

(..) Ajax is used to load the contents of each page into the DOM as you navigate, and the DOM ready handler only executes for the first page. To execute code whenever a new page is loaded and created, you can bind to the pageinit event. This event is explained in detail at the bottom of this page.

如果您想禁用 ajax 加载的单个链接,您应该编写如下内容:

<a href="/some_page" data-ajax="false" >link</a>

或在全球范围内进行:

$(document).bind("mobileinit", function() {
  $.mobile.ajaxEnabled = false;
});

jm 还对其他元素进行替换,因此您应该尝试使用data-role属性,例如:

<select id="test" data-role="none">

禁用替换此元素。

于 2012-05-31T19:55:23.757 回答
2

对于像我这样的人

$.mobile.ajaxEnabled = false;

没有用,整个页面布局似乎仍然损坏:

对我来说,这个工作( - 在加载 jquery 移动文件之前将其设置为内联):

<script>
    // Preload configuration
    $( document ).on( "mobileinit", function() {
        $.mobile.autoInitializePage = false; // This one does the job
    });
</script>

此外,如果您想通过 ajax 禁用 jQuery 移动自动链接和表单处理,请按照建议将(如 dvk3 所说)ajaxEnabled 设置为 false并将pushStateEnabled 设置为 false:

$.mobile.ajaxEnabled = false;
$.mobile.pushStateEnabled = false; // Recommended is false, when ajax is disabled

有关详细信息,请参阅:http ://api.jquerymobile.com/global-config/

我正在使用 v1.4.5

于 2015-03-26T16:52:55.233 回答
0

通过将移动设备与其他框架混合,我也遇到了同样的情况。修复了问题,但获得了 jQuery.mobile 的自定义构建。我的情况是,我只需要滑动触摸设备,所以使用了自定义最小文件,之后没有任何问题。

这真的取决于您是需要 jQuery.mobile 还是只需要某个功能、小部件、事件?使用您可以自己构建的自定义版本。

你可以在这里制作和下载你的:http: //jquerymobile.com/download-builder/

我希望它也对你们有用!

于 2017-11-14T18:58:51.503 回答