Envoyé par : souqueta
Date : 09/06/2006 10:48
Bonjour,
Est-ce possible de simuler un comportement souris sur un element?
Envoyé par : chBok
Date : 09/06/2006 11:46
Il me semble qu'il faut utiliser une méthode dispatchEvent(). Voici l'exemple en ligne sur MDC :
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
b = document.getElementById("button1");
res = b.dispatchEvent(evt);
if ( res ) {
// None of the handlers called preventDefault
b.disabled = true;
} Envoyé par : thefab
Date : 09/06/2006 13:19
Et en plus ça fonctionne aussi avec d'autres évènements, par exemple mousemove:
<script type="application/x-javascript">
function simule()
{
var evt = document.createEvent("MouseEvent");
evt.initMouseEvent("mousemove", false, false, window, 0,
0, 0, 0, 0, false, false, false, false, 0, null);
var box = document.getElementById("box");
box.dispatchEvent(evt);
}
</script>
<button label="Simule" oncommand="simule();"/>
<box id="box" flex="1" onmousemove="this.style.backgroundColor='red';"/>
Par contre le s dans createEvent() est-il obligatoire ? MouseEvent et MouseEvents fonctionnent tout les 2.
Envoyé par : chBok
Date : 09/06/2006 16:53
theFab, l'exemple que j'ai collé provient de MDC (http://developer.mozilla.org/en/docs/DOM:element.dispatchEvent), alors s'il y a une erreur, il faudra également modifier là bas.
Envoyé par : souqueta
Date : 10/06/2006 14:08
Merci pour vos réponses!
Effectivement, l'API semble assez fléxible... Je devais juste simuler un double click donc, pour ceux à qui les fonctions à 16 paramètres font peur :
var evt = document.createEvent("MouseEvents");
evt.initEvent("dblclick", true, false); Envoyé par : thefab
Date : 12/06/2006 07:32
chBok, non pas d'erreur juste une précision comme quoi ça fonctionne aussi avec des évènements moins évidents qu'un clic, par ex. mousemove.
Envoyé par : thefab
Date : 12/06/2006 09:29
Apparement MouseEvent ne prend pas de s à la fin, bien que ça fonctionne aussi avec. Sur la page createEvent de MDC l'exemple est donné sans s mais avec sur la page dispatchEvent (je l'ai modifié)
Envoyé par : chBok
Date : 12/06/2006 09:40
Merci thefab pour tes précisions :)
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.