Vorrei ritardare un evento hover in jquery. Sto leggendo da un file quando l'utente passa il mouse su un collegamento o un'etichetta. Non voglio che questo evento si verifichi immediatamente nel caso in cui l'utente stia semplicemente spostando il mouse sullo schermo. C'è un modo per ritardare l'attivazione dell'evento?
Grazie.
Codice di esempio:
$(function() {
$('#container a').hover(function() {
$('<div id="fileinfo" />').load('ReadTextFileX.aspx',
{filename:'file.txt'},
function() {
$(this).appendTo('#info');
}
);
},
function() { $('#info').remove(); }
});
});
AGGIORNAMENTO: (14/01/09) Dopo aver aggiunto il plugin HoverIntent, il codice sopra è stato modificato nel seguente per implementarlo. Molto semplice da implementare.
$(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)
}