【发布时间】:2011-01-03 21:14: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 类用于不打算在选项卡中打开的链接。它不是特别相关,但我想我也会分享它,如果它以某种方式被证明很重要。
【问题讨论】:
标签: javascript jquery-ui jquery jquery-ui-tabs