Envoyé par : ptitrene
Date : 22/04/2005 11:52
Bonjour,
j'essaie d'appliquer un listener pour observer la selection active sur un tree (mon listener est activé dès l'affichage de ma fenêtre)
addEventListener("select",selectligne,false);
et ma fonction :
function selectligne() { var focused = document.commandDispatcher.focusedElement; alert(document .commandDispatcher .focusedElement .view .getCellText(document .commandDispatcher .focusedElement .currentIndex,"concours-id")); }
Ce listener ne fonctionne correctement qu'à partir de la seconde sélection ; au premier click, j'obtiens l'erreur suivante :
Erreur : document.commandDispatcher.focusedElement has no properties Fichier Source : chrome://tests/content/tests.js Ligne : 112
Connaissez-vous un remède à ce problème ?
Merci...
Envoyé par : Julien Appert
Date : 22/04/2005 15:35
Par pure déduction, je dirais que le focusedElement doit récupérer l'élement actuellement sélectionné (qui a donc le focus ;o). Peut être que le listener appelle ta fonction avant la mise à jour du focusElement ? Auquel cas aucun élément n'a encore le focus au moment de la première sélection. Pour que mon raisonnement soit correct, il faudrait que le résultat de ta fonction corresponde à l'élément précédemment sélectionné et non à l'actuel. Est-ce le cas ?
Envoyé par : ptitrene
Date : 22/04/2005 16:22
Effectivement, focusedElement est à Null dans DomInspector avant de cliquer... mais je ne comprends pas pourquoi dans ce cas je ne récupère pas à chaque fois l'élément précédemment sélectionné : au second clic, je tombe bien sur le bon élément !
Envoyé par : Julien Appert
Date : 22/04/2005 16:34
Encore une insondable bizarrerie...
regarde sur http://www.hevanet.com/acorbin/xul/top.x(..), dans la rubrique sur les trees. Sa méthode est très différente mais... fonctionne :o)
Envoyé par : ptitrene
Date : 22/04/2005 17:34
Merci beaucoup, cela fonctionne mieux... j'aurais tout de même préféré retrouver l'élément à l'origine de l'évènement. tant pis...
Peut-être que le focus est pris par une balise non affichable du tree la première fois ?
Envoyé par : Julien Appert
Date : 22/04/2005 18:03
attendons qu'un professionnel du focusElement nous apporte la solution ;o)
Envoyé par : ptitrene
Date : 26/04/2005 09:11
Mes premières recherches ne m'avaient pas amené sur les bons liens.
La syntaxe à utiliser pour retrouver l'élément à l'origine de l'évènement est "event.currentTarget" :o)
(l'objet event est passé en paramètre par défaut à tous les gestionnaires d'évènements)
Envoyé par : Julien Appert
Date : 26/04/2005 09:25
En effet c'est plus propre d'aller chercher directement l'élément à l'origine de l'événement qu'un simple résultat de l'événement qu'est le focus.
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.