Я использую вкладки 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 класс предназначен для ссылок, которые не предназначены для открытия на вкладке. Это не особо актуально, но я подумала, что поделюсь этим, если это окажется как-то важным.