Eu gostaria de atrasar um evento de foco em jquery. Estou lendo um arquivo quando o usuário passa o mouse sobre um link ou rótulo. Não quero que esse evento ocorra imediatamente, caso o usuário esteja apenas movendo o mouse pela tela. Existe uma maneira de atrasar o disparo do evento?
Obrigado.
Código de exemplo:
$(function() {
$('#container a').hover(function() {
$('<div id="fileinfo" />').load('ReadTextFileX.aspx',
{filename:'file.txt'},
function() {
$(this).appendTo('#info');
}
);
},
function() { $('#info').remove(); }
});
});
ATUALIZAÇÃO: (14/01/09) Após adicionar o plugin HoverIntent, o código acima foi alterado para o seguinte para implementá-lo. Muito simples de implementar.
$(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)
}