처음에는 이것이 사실이라고 생각했습니다. 그러나 분명히, 그것은 clearInterval
되지 않습니다.별도의 함수로 액세스 할 수 있도록 setInterval을 전역 변수로 설정할 수 있습니까?
액세스하기 쉽도록 네임 스페이스로 된 글로벌 바 (vars)를 설정했습니다.
$.faux_download = {};
$.faux_download._counter = 0;
그런 다음 별도의 공유 가능 방법으로 마우스 오버 동작의 모든 세부 사항을 구분합니다.
$(".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();
});
을 이제 마우스 오버를 : 나는
어느 내가 바인딩 live
이벤트를 사용하려면 동일한 기능을 공유 할 수있는 동적으로 객체를 추가 할 때까지
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);
},
지금이 모두 여기 를 작동 여기에서 작업하지만 명확한 간격은 새로 생성 된 동적 항목과 함께 작동하지 않는 것 같습니다.
그러나 페이지를로드 한 일부를 마우스 오버 할 경우 그은 성공적으로 간격을 지우고 적절하게 작동합니다.
왜 이런 경우인지 아시겠습니까?
jQuery를 1.4.4 (다만, 때문에 저를 미워하지 않습니다.)
참. 'hover'는 실제 이벤트가 아니며'.hover (func, func)'는'mouseeneter'와'mouseleave' 핸들러를 동시에 설정하는 지름길입니다. – lanzz