jQuery UI ajax 选项卡 - 在选项卡内加载链接时请求成倍增加

2024-01-27

我正在使用 jQuery UI 选项卡,通过 ajax 加载选项卡内容。内容可能包含我想要在所选选项卡中加载的链接。为了实现这一点,我使用这段代码

$("#tab-div").tabs({  
    load: function(event, ui) {
    $('a:not('.targetBlank'), ui.panel).live('click', function() {
        $(ui.panel).load(this.href);
        return false;
    });
});

我使用 live() 以便初始加载后加载的链接也被覆盖。

现在,想象一下您有 2 个选项卡的情况。首先,用户位于 tab_a 中,其中包含链接。用户单击 tab_a 中的链接,它可以正常打开。然后,选择 tab_b,然后选择 tab_a,再次选择其中的链接。

所以那就是: tab_a -> 内链接 -> tab_b -> tab_a -> 内链接

现在,在第二次选择 tab_a 以及之后的链接后,单击链接时我会收到两个请求。如果我重复这个过程,一旦我点击 tab_a 中的链接,我就会收到三个请求,依此类推。

我不太了解这里发生的事情。

.targetBlank 类适用于不打算在选项卡中打开的链接。它不是特别相关,但我想如果它在某种程度上很重要的话我也会分享它。


如果内容已绑定,则需要设置一个标志,或者在选项卡更改时取消绑定内容。

就像是ui.panel.find('a').unbind()应该可以解决问题。确保将其放入选项卡更改回调中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery UI ajax 选项卡 - 在选项卡内加载链接时请求成倍增加 的相关文章

随机推荐