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.