JeuWeb - Crée ton jeu par navigateur
Récupérer un event sur onclick="maFonction()" - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Récupérer un event sur onclick="maFonction()" (/showthread.php?tid=4999)



Récupérer un event sur onclick="maFonction()" - niahoo - 15-05-2014

Hello,

J'aimerais savoir si vous saviez récupérer l'event en cours dans une fonction appelée via un onclick="maFonction()", c'est à dire défini par du javascript sous forme de chaine.

Ceci afin de pouvoir appeler .preventDefault()

Merci


RE: Récupérer un event sur onclick="maFonction()" - Xenos - 15-05-2014

Yop,

Il y a arguments.callee.caller qui peut remédier à cela: l'évènement a l'air d'être implicite lorsque l'eventListener est appelé par le navigateur:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<script>
function yoDawg()
{
console.log('Window.event: ', window.event);
console.log('arguments.callee.caller.arguments: ', arguments.callee.caller.arguments[0]);
}
</script>
</head>
<body>
<p oncl!ck="yoDawg()">Click me</p>
</body>
</html>

windows.event ne renvoie rien sous FF (mais je ne sais pas s'il renvoie encore quelque chose sous IE?!), en revanche, le "arguments.callee.caller.arguments[0]" renvoie l'évènement "onclick".

En revanche, c'est aussi "fiable" que les promesses des candidats aux européennes (je n'ai pas de spécification officielle là-dessus) et aussi propre qu'un siphon d'évier (arguments.callee étant bof bof comme méthode).


Source: StackOverflow


RE: Récupérer un event sur onclick="maFonction()" - niahoo - 15-05-2014

ok nickel merci.

Oui c'est crado mais bon je vais pas me prendre la tête sur ce coup.