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

时间:2011-01-03 21:14:28

标签: javascript jquery-ui jquery jquery-ui-tabs

我正在使用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(),以便在初始加载后加载的链接也被覆盖。

现在,想象一下你有两个标签的情况。首先,用户在tab_a中,其中包含链接。用户单击tab_a中的链接,它打开正常。然后,选择tab_b,然后选择tab_a,再次选择链接。

这样:tab_a - >链接 - > tab_b - > tab_a - >链接

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

我无法理解这里发生的事情。

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

1 个答案:

答案 0 :(得分:1)

如果内容已被绑定,则需要设置标记,或者在标签更改时取消绑定内容。

ui.panel.find('a').unbind()这样的东西应该可以解决问题。确保将其放在标签更改回调中。