Здравствуйте. У меня есть страница, на которой отображается большое количество токенов, поступающих по запросу AJAX. Это метод, который отображает содержимое:
function renderTextView(documentId, manuscriptId) {
$("#textView").empty();
$(".token-display a").die();
$.each(window.g_cacheAllTokens, function(idx, token) {
var html = renderToken(token, documentId, manuscriptId);
$("#textView").append( html );
});
$(".token-display a").live('click', function() {
var url = $(this).attr('href');
$.fn.colorbox({
opacity: 0.25,
href: url,
open: true,
onClosed: function() {
reloadViews(documentId, manuscriptId);
}
}); // colorbox
return false;
});
// enable tooltips for tokens
if( true == getEditorOption('showTooltips') ) {
$(".token-display").tooltip();
}
} // renderTextView
Для каждого рендеринга токена я установил живой обработчик, который открывает цветное окно при нажатии. В Chrome он вроде бы ведет себя нормально, но в Firefox. Как только я открываю colorbox, а затем закрываю его, во второй раз, когда я открываю его (тот же или любой другой токен на экране), он дважды запрашивает целевой URL, если я делаю это три раза, то он выполняет запрос три раза. и т. д.
Как вы можете видеть, когда colorbox закрывается, я перезагружаю представление, поэтому я получаю новые токены и обновляю обработчики.
Это делает мое приложение непригодным к использованию после небольшого времени использования, так что это довольно плохая проблема.
Я понятия не имею, что это может быть, и я даже не знаю, как его отладить.