Jquery mobile 不加载ajax的jQuery移动锚链接
我已完全禁用jQuery Mobile ajax导航,如下所示:Jquery mobile 不加载ajax的jQuery移动锚链接,jquery-mobile,hyperlink,anchor,Jquery Mobile,Hyperlink,Anchor,我已完全禁用jQuery Mobile ajax导航,如下所示: $(document).bind("mobileinit", function () { $.mobile.ajaxEnabled = false; $.mobile.linkBindingEnabled = false; $.mobile.hashListeningEnabled = false; $.mobile.pushStateEnabled = fa
$(document).bind("mobileinit", function () {
$.mobile.ajaxEnabled = false;
$.mobile.linkBindingEnabled = false;
$.mobile.hashListeningEnabled = false;
$.mobile.pushStateEnabled = false;
});
这是完美的工作,除了锚/散列链接不工作,因为它们通常在JQM之外工作
当页面加载时,您处于页面顶部(如果加载速度足够慢,您将在锚定点看到加载,然后跳到顶部)。无论哪种方式,最终都会出现在页面顶部,而不是应该出现的锚定链接。有什么好的解决办法吗?谢谢 此修复程序只是对这个答案()中的代码进行了轻微修改,因此它应该适用于所有锚点链接,而不仅仅是特定的锚点链接。我把这个脚本放在
元素的末尾
$(document).bind('pageshow',function(e) {
var $anchor;
$anchor = $(location.hash);
if ($anchor) {
// Get y pos of anchor element.
var pos = $anchor.offset().top;
// Don't use silentScroll() as it interferes with the automatic
// silentScroll(0) call done by JQM on page load. Instead, register
// a one-shot 'silentscroll' handler that performs a plain
// window.scrollTo() afterward.
$(document).bind('silentscroll',function(e,data) {
$(this).unbind(e);
window.scrollTo(0, pos);
});
}
});
看起来您正在运行许多jQuery插件,包括一个名为“scrollTo”的插件。通过删除其他脚本,您确定问题是jQuery Mobile的错了吗?您有“某种东西”迫使页面在完全加载后转到顶部。@Jasper-是的,确实尝试删除所有其他脚本,结果相同。网络上有很多人都有同样的问题,包括->是的,这个问题似乎很常见,但是我给出了一个例子,可以让你大致了解如何解决这个难题。JQM将焦点放在页面顶部,因为它有
tabindex=“0”
。这是另一个不同的例子