Jquery mobile jQueryMobile-如果“有条件地允许散列”;第页“;存在?

Jquery mobile jQueryMobile-如果“有条件地允许散列”;第页“;存在?,jquery-mobile,Jquery Mobile,我看到了很多相关的问题,但没有一个直接有这个问题 我有一个非常大的网站,我正在为它构建一个jquery移动主题。但是我对内容没有太多的控制权,当它为桌面构建时,很多锚定标签被用来移动到页面上的位置 我已经修复了同一页面上的链接,如下所示(jqm是jquery对象的代理,我需要清理$/jqm引用 这将绑定到mobileinit事件中,并且在页面上有锚的情况下有效: jqm('div').live('pagebeforecreate', function(e, data) { if(l

我看到了很多相关的问题,但没有一个直接有这个问题

我有一个非常大的网站,我正在为它构建一个jquery移动主题。但是我对内容没有太多的控制权,当它为桌面构建时,很多锚定标签被用来移动到页面上的位置

我已经修复了同一页面上的链接,如下所示(jqm是jquery对象的代理,我需要清理$/jqm引用

这将绑定到mobileinit事件中,并且在页面上有锚的情况下有效:

jqm('div').live('pagebeforecreate', function(e, data)
{   
    if(location.hash.length>0){
        if($(location.hash).length>0){
            if ($(location.hash).attr("data-role") != "page")
            {
                    $.scrollTo(location.hash, 800);
            };
        }
    }
    //Check to see if there are any internal links on page
    $("a[href*='#']").each(function()
    { 
    //make sure they aren't legit jqm pages
        if($(this.hash).length){
            if ($(this.hash).attr("data-role") != "page")
            {
                //Disable jqm behavior, instead scroll down the page
                $(this).click(function(event)
                {
                    event.preventDefault(); 
                    $.scrollTo(this.hash, 800);
                    return false;
                });
            };
        }
        else {
            $(this).attr('data-ajax','false');
        }
    });
});
});
因此,如果用户在foo.php上,并且有一个指向#bar和#baz的链接,它会很好地滚动到它们,知道它们不是data role=“page”

但是,如果用户在foo.php上,页面上有一个指向qux.php#bar的链接,它就会阻塞,因为当页面加载时,它试图将页面更改为#bar,但是qux.php上的#bar实际上只是一个普通旧div的id

在我看来,类似于上面的页面上解决方案的东西也适用于此,但也许我需要绑定到实际的页面加载,而不是pagebeforecreate