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

我正在使用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类用于不打算在选项卡中打开的链接。 它并不是特别相关,但我认为我也会分享它,如果它在某种程度上certificate是重要的。

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

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