【问题标题】:Is there a way to get $.mobile.pageCreate with jQuery 1.3.0 on Webkit browsers?有没有办法在 Webkit 浏览器上使用 jQuery 1.3.0 获取 $.mobile.pageCreate ?
【发布时间】:2013-03-29 00:35:20
【问题描述】:

我之前尝试过发布这个问题,但当时并没有意识到我遇到的问题来自使用 jQuery 1.3.0 库。

我正在尝试使用 jQuery mobile 在页面上创建一个无需用户交互的对话框。它在 FireFox 中有效,但在所有 webkit 浏览器中都失败,包括 Safari、Mobile Safari 和 Chrome。

这是一个问题示例:http://jsfiddle.net/fskirschbaum/2YTwE/

$.mobile.changePage( '#dialog' , { transition:"pop", role:"dialog" });

我已经尝试了几种不同的方法来让这个东西正常工作,但我觉得我正在把头撞到墙上。如果您将库基础更改为 1.2.0,它会起作用,所以这似乎是 1.3.0 的问题,但我看不到其他人似乎有这个问题。

编辑:我尝试将其附加到几个事件中,但均未成功,包括:pagecreate、pageinit、pageload 等。这似乎无济于事。我还要指出,这似乎是这个库崩溃到另一个库的问题,在一个只有 jquery 和 jquery mobile 的香草页面上,我可以使用 1.3 库让它工作,但不能在 jsFiddle 或我的环境中(我正在调用许多其他库,例如 jQueryUI 和其他库,并且我尝试调整它们的调用顺序。)

有人有什么建议吗?

【问题讨论】:

  • 尝试将其绑定到一个事件,例如$('#home').on('pageshow', function () { $.mobile.changePage( '#dialog' , { transition:"pop", role:"dialog" }); });.
  • 感谢您的建议,但我已尝试将其绑定到几个不同的事件,但均未成功。您可以使用 webkit 浏览器在我的帖子中链接的 jsfiddle 中尝试您的建议,看看它不起作用。

标签: jquery html jquery-mobile


【解决方案1】:

所以,它似乎与 webkit 渲染和某些其他库的问题有关。

将函数包装在pageshow 中不适用于我的环境,但将其包装在pagecreate 中确实有效,这是在createPage 之后调用的事件。我还没有确定为什么会发生这种情况,但它确实有效。

http://jsfiddle.net/fskirschbaum/pKw2A/

但是,此解决方案在 Firefox / Gecko 渲染中中断,因此,该功能需要包装在浏览器检查中才能使其工作。显然这不是最优雅的解决方案,但它仍然是一个解决方案。

希望这能帮助遇到同样问题的其他人。

【讨论】:

    【解决方案2】:

    拨打$.mobile.changePage如下。

    $(document).on('pageshow', '#home', function(){
        $.mobile.changePage('#dialog');
    });
    

    【讨论】:

    • 感谢您的建议,但是,如果您使用上面使用 jsFiddle 的基于 webkit 的浏览器进行尝试,您会发现它无法按预期工作。我尝试使用多个事件调用此方法,但它根本不会触发。 jsfiddle.net/fskirschbaum/ktM6Z
    • 它在我的网络工具包浏览器(chrome)中为我工作,我会检查小提琴为什么它第一次没有加载。如果您导航到第 2 页并再次返回第 1 页,那么您会看到它被触发了....!!!!
    • 我看到当您返回页面时它确实会触发,尽管这是我正在寻找的行为。我还发现我可以通过用户输入很好地触发它,当文档初始加载让对话框在没有用户交互的情况下触发时,这似乎是一个问题。
    • 这似乎是 jsfiddle 的问题。如果您将它作为独立应用程序启动,那么它会在初始加载时自行启动。我在本地尝试过,效果很好。
    • 我得到了相同/相似的解决方案,但后来发现 pagereate 可以在所有 webkit 浏览器上工作,但在 Firefox 中不能正常工作。因此,对于这种情况,该函数现在包含在 webkit 的测试中,并且似乎工作得很好。影响 jsFiddle 的问题也影响了我的环境,尽管我还没有弄清楚这个问题到底是什么。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-26
    • 1970-01-01
    • 1970-01-01
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    相关资源
    最近更新 更多