起初我以为是这种情况。但显然,它不会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(只是因为,不要讨厌我。)
答案 0 :(得分:1)
通常我会删除它,但这实际上是一个有趣的答案。
您无法绑定hover
。您必须绑定mouseenter
和mouseleave
。