En Javascript, je veux que mon événement onmouseout mette en veille/pause/wait/(pas sûr de la bonne terminologie ici) pendant trois secondes avant de prendre effet. Comment cela est-il accompli?Javascript onmouseout Dormir?
grâce
En Javascript, je veux que mon événement onmouseout mette en veille/pause/wait/(pas sûr de la bonne terminologie ici) pendant trois secondes avant de prendre effet. Comment cela est-il accompli?Javascript onmouseout Dormir?
grâce
function outfunction(event) {
var that = this; // to be able to use this later.
window.setTimeout(function() {
…
/* you can use 'that' here to refer to the element
event is also available in this scope */
}, 3000);
}
Vous devez passer l'objet événement à, et à la fonction anonyme interne. – Triptych
on ne peut pas le passer à la fonction interne mais cela fonctionne parce que la fonction anonyme utilise l'étendue de la fonction externe. –
Accéder à l'objet d'événement dans la fonction interne est douteux, mieux serait d'acquérir toutes les informations nécessaires de l'objet d'événement dans les variables de la fonction externe. – AnthonyWJones
var doSomething = function() {
//Some code will here after 3 seconds of mouseout
};
anElement.onmouseout = function() {
setTimeout(doSomething, 3000);
};
Ce que le code ci-dessus fait est d'exécuter la fonction doSomething
après 3 secondes de la onmouseout
étant invoquée
Le terme que je voudrais utiliser est defer. – AnthonyWJones