起初我以为是这样。但显然,它不会clearInterval
。
为了使其可访问,我设置了一些命名空间的全局变量。
$.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(只是因为,不要恨我。)