附加查询参数的哈希链接是否应该在jQuery Mobile中工作?

时间:2014-03-26 08:09:53

标签: jquery-mobile

<a href="#page2?golfer=arnoldpalmer"></a>

我只是尝试过它并没有用。 jQuery Mobile似乎摆脱了链接的?golfer = arnoldpalmer部分(你可以通过视图源看到这个)。 任何变通方法或解决方案?

这是因为标准是我们不能把参数放在页面哈希链接之后吗?

2 个答案:

答案 0 :(得分:2)

正如@zyrex指出的,有&#34;纯&#34; jQuery移动解决方案。

另一种流行的解决方案是依靠Backbone Routers提供现成的URL解析参数。

如果您使用此功能,则必须使用

在JQuery Mobile中停用hashtag拦截
$( document ).on( "mobileinit",
    // Set up the "mobileinit" handler before requiring jQuery Mobile's module
    function() {
        // Prevents all anchor click handling including the addition of active button state and alternate link bluring.
        $.mobile.linkBindingEnabled = false;

        // Disabling this will prevent jQuery Mobile from handling hash changes
        $.mobile.hashListeningEnabled = false;
    }
)

在路由器中创建路由

 routes: {

     "": "start",

     "page2/:golfer": "gotopage2"
 }

在处理程序中执行JQM导航

gotopage2: function( golfer ) {

    //do something with golfer

    //show JQM page
    $.mobile.pageContainer.pagecontainer( "change", "#page2")                    
}

答案 1 :(得分:0)

这应该解决你的问题:)传递参数有三种方法。 Value Passing In Jquery from one html class to other html class in PhoneGap