当尝试使用touchOverflowEnabled覆盖jQuery Mobile默认设置时,页面加载了两次

Page loaded twice when trying to override jQuery Mobile default settings with touchOverflowEnabled

本文关键字:加载 两次 设置 touchOverflowEnabled 覆盖 默认 Mobile jQuery      更新时间:2023-09-26

根据全局配置选项中的指定,我正试图使用中指定的脚本顺序覆盖jQuery Mobile的默认设置

http://jquerymobile.com/test/docs/api/globalconfig.html

然而,当我在ios设备(运行ios5的iphone4)上浏览页面时,我能够做到这一点,一旦你访问了几个链接,或者点击了几次后退按钮,它们似乎是重复的,并出现在一个又一个的顶部。

这是我订的剧本。

    <script src="//ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.4.min.js"></script>
    <script>
    // my custom script
                $(document).bind("mobileinit", function(){
                    //apply overrides to default settings
                    $.mobile.touchOverflowEnabled = true;
                    $.mobile.loadingMessage = false;
                    $.mobile.defaultPageTransition = 'none';
                });
    </script>
    <script src="//ajax.aspnetcdn.com/ajax/jquery.mobile/1.0/jquery.mobile-1.0.min.js"></script>

以下是示例(查看ios设备上的错误视图):

http://dev.solidstategroup.com/ssgwebsite/mobile/

我不确定我做错了什么,我在任何地方都没有遇到这个问题。奇怪的是,这个问题无法在ios模拟器或浏览器中重现。

我已经删除了所有其他脚本来消除这些。

如果有人能建议或想办法以另一种方式覆盖默认设置,这可能会对其他人有所帮助。

非常感谢。

解决方案是删除下面的touchOverflow功能。

   $.mobile.touchOverflowEnabled = true;

删除此参数意味着touchOverFlowEnabled设置为其默认值false。

这个功能显然是不稳定的,正如它在文档中所说:-

http://jquerymobile.com/test/docs/pages/touchoverflow.html

有一些已知的缺点,文档建议谨慎使用(尽管没有列出这个特定的问题)。