Сначала я подумал, что это так. Но, очевидно, это не будет clearInterval
.Можно ли установитьInterval в глобальный var, чтобы он был доступен отдельными функциями?
Чтобы сделать его доступным, я установил несколько глобальных пространств с именами.
$.faux_download = {};
$.faux_download._counter = 0;
Затем я разделяю каждую деталь действия наведения в отдельных методах совместного доступа.
init_hover_handler: function($this, evt) {
$this = $($this);
$.faux_download._counter = setInterval(function(){ SSK.calendar.check_load_popup($this) }, 1000);
},
init_hover_out_handler: function() {
clearInterval($.faux_download._counter);
},
Сейчас все это работает здесь , пока я не добавлять объекты динамически, которые являются одни и те же функциональные возможности
На что я использую live
событие для связывания:
$(".extended-cell-popup:last .job a, .extended-cell-popup:last .task a").live('hover', function(evt){
SSK.calendar.init_hover_handler(this, evt);
}, function(){
SSK.calendar.init_hover_out_handler();
});
Теперь наведение работа здесь, но четкий интервал, похоже, не работает с этими вновь созданными динамическими элементами.
Однако, если бы я был на мыши, некоторые из тех, которые загружались со страницы, те успешно очистили бы интервал и работа соответствующим образом.
Кто-нибудь знает, почему это так?
JQuery 1.4.4 (Просто потому, что не ненавидишь меня.)
Правда. 'hover' не является реальным событием, а' .hover (func, func) 'просто является ярлыком для одновременного установки обработчиков« mouseeneter »и« mouseleave ». – lanzz