Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# target

Envoyé par : thx1138

Date : 20/07/2006 21:41

Bonjour,

Je voudrais savoir de quel zone mon raccourci clavier provient ?

J'ai tester le truc suivant mais y'a rien :

<key keycode="VK_ESCAPE" oncommand="alert(event.target.getAttribute('id'));" />

merci

# Re: target

Envoyé par : chBok

Date : 21/07/2006 16:06

La lecture de l'attribut id semble poser quelques problèmes, il y a eu une discussion récente sur le sujet.

De quelle zone parles-tu ? Parles-tu de élément à partir duquel la touche clavier a été appuyée ? Si oui, normalement, ton code est correct. Voici un exemple qui fonctionne :

<keyset>
  <key keycode="VK_ESCAPE" oncommand="alert(event.target.getAttribute('value'));" />
</keyset>
<textbox value="zzz"/>

En appuyant sur Echap depuis la zone de texte, tu obtiens bien la valeur du champ de saisie (ici la valeur zzz).

# Re: target

Envoyé par : thefab

Date : 21/07/2006 16:19

Pour connaître l'élément actif (celui qui a le focus):

document.commandDispatcher.focusedElement

# Re: target

Envoyé par : thx1138

Date : 21/07/2006 16:55

Désolé mais :

<keyset>
  <key keycode="VK_ESCAPE" 
oncommand="alert(event.target.getAttribute('value'));" />
</keyset>
<textbox value="zzz"/>

ne fonctionne pas chez moi

<key keycode="VK_ESCAPE"  oncommand="alert(document.commandDispatcher.focusedElement.getAttribute('value'));" >

celui ci fonctionne par contre mais ce que je veux c'est l'id et là ca ne fonctionne plus

# Re: target

Envoyé par : thefab

Date : 22/07/2006 17:59

je veux c'est l'id et là ca ne fonctionne plus

Oui et non... c'est possible d'avoir l'ID mais pas pour le bon élément, explications:

document.commandDispatcher.focusedElement.id

Fonctionne et retourne bien l'ID de l'élément qui a le focus (mais uniquement pour les éléments simple qui n'ont pas d'éléments à l'intérieur d'autres éléments dans un XBL).

<button id="bouton" oncommand="alert(document.commandDispatcher.focusedElement.id);"/>

Affiche bien 'bouton', par contre sur une zone de texte ça ne fonctionne pas car c'est un <html:input> qui a réelement le focus:

<textbox id="textbox"/>
alert(document.commandDispatcher.focusedElement.id);

Retourne l'ID du <html:input> qui est vide ! Pour t'en convaincre

alert(document.commandDispatcher.focusedElement.nodeName);

Fabrice

# Re: target

Envoyé par : thx1138

Date : 22/07/2006 19:47

C'est gentil mais,

je fais comment pour savoir ou je me trouve ? (connaitre l'ID)

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.