仅在 jQuery Mobile 中抑制某些链接的 AJAX/哈希行为

发布于 2024-11-19 04:03:05 字数 502 浏览 5 评论 0原文

我找到了一些旧的答案,但它们似乎不再对 jQuery Mobile 有效。

我只想禁用某些链接的 AJAX/hashbang 行为。 我发现我可以全局禁用它:

/**
 * Supress some jQuery Mobile default behavior
 */
$(window.document).bind("mobileinit", function() {


    // https://github.com/mobilizejs/mobilize.js/blob/master/js/mobilize.onjq.js#L51
    $.mobile.ajaxEnabled = false;
    $.mobile.hashListeningEnabled = false;

});

...但我想仅对某些类禁用它,这样我的自定义 click() 处理程序就不会搞砸。看起来 click() 中的 return true 或 e.preventDefault() 这次没有帮助。

I found some old answers for this, but they do not seem no longer valid for jQuery Mobile.

I want to disable AJAX/hashbang behavior certain links only.
I have found out I can disable it globally:

/**
 * Supress some jQuery Mobile default behavior
 */
$(window.document).bind("mobileinit", function() {


    // https://github.com/mobilizejs/mobilize.js/blob/master/js/mobilize.onjq.js#L51
    $.mobile.ajaxEnabled = false;
    $.mobile.hashListeningEnabled = false;

});

... but I'd like to disable it for certain classes only, so that my custom click() handlers are not screwed up. Looks like return true or e.preventDefault() in click() do not help this time.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

赠佳期 2024-11-26 04:03:05

在逐个链接的基础上,抑制默认 Ajax 导航的两种主要方法是设置 rel=external 属性,或设置任何类型的 target 属性。

鉴于此,您可以更新相关链接的标记,或者更好的是,在加载页面时动态分配您选择的属性。

On a link-by-link basis the two main ways of suppressing the default Ajax navigation are to either set a rel=external attribute, or set any kind of target attribute.

Given that, you could either update the mark-up of the relevant links, or better, assign the attribute you choose dynamically when your pages are loading.

你的呼吸 2024-11-26 04:03:05

在某个时候引入了data-ajax="false"

At some point data-ajax="false" was introduced.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文