Page 1 sur 1
[résolu] javascript Chrome onkeyup
Publié : 07 juil. 2010, 20:13
par lpgc
le onkeyup n'a pas l'air d'être disponible pour les balises avec Google Chrome
il y a moyen de capter le onkeyup au niveau du document mais aucune indication ne précise d'où provient l'événement
comment faire !? ... ( déjà eut ce problème ? )
par contre le onmouseover et le onclick réagissent correctement ...
Re: javascript Chrome onkeyup
Publié : 13 juil. 2010, 14:57
par ornitho13
bonjour,
le onkeyup existe sur chrome ( pour l'avoir déjà utilisé)
Il y a 2 solutions à ton probleme:
- soit tu gères l'evenement coté javascript : element.addeventListener("onkeyup", function()...
- ou alors tu ajoutes le
event dans ton tag html. je m'explique:
Code : Tout sélectionner
<input type="text" value="" name="nomInput" onkeyup="actionSurKeyUp(event)"/>
voila j'espere que cela t'aidera
Re: javascript Chrome onkeyup
Publié : 13 juil. 2010, 15:18
par lpgc
oui ... j'ai déjà essayé la seconde solution ... et sur un DIV ... çà fonctionne aussi !?
que ce soit IE, Firefox ou Opera ( pas certain pour Opera !? ... je n'ai pas essayé )
le onkeyup sur la balise DIV fonctionne mais pas avec google Chrome
Re: javascript Chrome onkeyup
Publié : 13 juil. 2010, 18:49
par ornitho13
Sur une div, cela parait difficile, en effet le onkeyup n'est valide que sur les tag de type input et textarea donc...
en ce qui concerne la provenance, il faut utiliser event.currentTarget qui te donne l'élément d'où provient l'event
bon courage
Re: javascript Chrome onkeyup
Publié : 13 juil. 2010, 19:07
par lpgc
Merci, ... je continue à chercher ...
mais bon c'est bien parceque j'essaie maintenant aussi de tester sur Chrome en plus de IE, Firefox et Opera
qui eux fonctionnent bien pour un onkeyup sur un DIV
le DIV peut contenir énormément d'informations de toutes sortes surlesquels on n'a pas toujours la main
et mettre un événement à un niveau supérieur
permet à la fois de simplifier les traitements
et aussi de limiter le code puisqu'il est centralisé ...
Re: javascript Chrome onkeyup
Publié : 17 juil. 2010, 01:39
par ornitho13
si tu pouvais montrer un peu de code, je verrais peut etre mieux le probleme.
merci
Re: javascript Chrome onkeyup
Publié : 17 juil. 2010, 11:14
par lpgc
http://www.dvdlib.be/test/testchromekeyup.htm ...
fonctionne bien sous Firefox, IE et Opera ... mais pas avec Google Chrome
un simple DIV ne répond pas à l'événement onkeyup
mais certains éléments comme les Input, ... et je pensais aussi les liens !? ...
Re: javascript Chrome onkeyup
Publié : 17 juil. 2010, 14:18
par ornitho13
j'ai fait des tests et j'ai réussi à faire fonctionner le onkeyup sur une div sous chrome
Le onkeyup ne fonctionne pas car il faut obtenir le focus de la div et plus précisement sur un des liens présents dans la div (ex:lien1)
j'ai donc fait la modif suivante:
Code : Tout sélectionner
...
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Test Google Chrome onkeyup sur un div</title>
<script type="text/javascript">
function keyUpFunction(){
alert('keyup');
}
function test(){
document.getElementById("lien1").focus();
if(window.addEventListener){ // pour FF, chrome, safari, opera
document.getElementById("divtestkey").addEventListener('keyup', keyUpFunction,false);
document.getElementById("divtestkey").addEventListener('click', function(){
document.getElementById("lien1").focus(); // pour obliger le focus sur la div quand on clique dessus
}, false);
}else{// pour IE
document.getElementById("divtestkey").attachEvent('onkeyup', keyUpFunction,false);
document.getElementById("divtestkey").attachEvent('onclick', function(){
document.getElementById("lien1").focus(); // pour obliger le focus sur la div quand on clique dessus
});
}
}
</script>
</head>
<body onload="test();">
<p>
cliquer sur un lien et ce lien ayant le focus enfoncer une touche<br />
avec Google Chrome le onkeyup ne fonctionne pas<br />
avec Firefox, IE 7 et Opera ... nickel !<br /><br />
</p>
<div id="divtestkey" style="border:solid 1px green;">
<a id="lien1" href="#">un lien</a><br />
<a id="lien2" href="#">un lien</a><br />
<a id="lien3" href="#">un lien</a><br />
<a id="lien4" href="#">un lien</a><br />
</div>
</body>
...
sur le chargement de la page, je place le focus sur le premier lien et ainsi je peux récupérer le "onkeyup".
Je te l'accorde c"est un peu bizarre mais je n'ai pas trouvé d'autre solution pour l'instant

. Le code fonctionne sur tous les navigateurs
voici une page pour le test si tu veux :
http://debray.jerome.free.fr/test.html
Re: javascript Chrome onkeyup
Publié : 17 juil. 2010, 15:29
par lpgc
... Merci çà fonctionne bien
l'astuce était de remettre le focus avant le onkeyup ... fallait y penser !
comme si le fait de cliquer sur un lien avec Chrome lui faisait perdre son focus ... bizarre
