Ich möchte ein Schwebeereignis in jquery verzögern. Ich lese aus einer Datei, wenn der Benutzer mit der Maus über einen Link oder eine Beschriftung fährt. Ich möchte nicht, dass dieses Ereignis sofort auftritt, wenn der Benutzer nur die Maus über den Bildschirm bewegt. Gibt es eine Möglichkeit, das Auslösen des Ereignisses zu verzögern?
Danke dir.
Beispielcode:
$(function() {
$('#container a').hover(function() {
$('<div id="fileinfo" />').load('ReadTextFileX.aspx',
{filename:'file.txt'},
function() {
$(this).appendTo('#info');
}
);
},
function() { $('#info').remove(); }
});
});
UPDATE: (14.01.09) Nach dem Hinzufügen des HoverIntent-Plugins wurde der obige Code wie folgt geändert, um ihn zu implementieren. Sehr einfach zu implementieren.
$(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)
}