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