jquery에서 hover 이벤트를 지연하고 싶습니다. 사용자가 링크 또는 레이블 위로 마우스를 가져 가면 파일에서 읽는 중입니다. 사용자가 화면에서 마우스를 움직 이기만하는 경우이 이벤트가 즉시 발생하는 것을 원하지 않습니다. 이벤트 발생을 지연시킬 수있는 방법이 있습니까?
감사합니다.
예제 코드 :
$(function() {
$('#container a').hover(function() {
$('<div id="fileinfo" />').load('ReadTextFileX.aspx',
{filename:'file.txt'},
function() {
$(this).appendTo('#info');
}
);
},
function() { $('#info').remove(); }
});
});
업데이트 : (2009 년 1 월 14 일) HoverIntent 플러그인을 추가 한 후 위의 코드가이를 구현하기 위해 다음과 같이 변경되었습니다. 구현이 매우 간단합니다.
$(function() {
hiConfig = {
sensitivity: 3, // number = sensitivity threshold (must be 1 or higher)
interval: 200, // number = milliseconds for onMouseOver polling interval
timeout: 200, // number = milliseconds delay before onMouseOut
over: function() {
$('<div id="fileinfo" />').load('ReadTextFileX.aspx', {filename:'file.txt'},
function() {
$(this).appendTo('#info');
}
);
}, // function = onMouseOver callback (REQUIRED)
out: function() { $('#info').remove(); } // function = onMouseOut callback (REQUIRED)
}
$('#container a').hoverIntent(hiConfig)
}