this de href et onClick

Le
Mihamina (R12y) Rakotomandimby
Bonjour,

Pourquoi "this" the "href" et de "onclick" dont différents?

Par exemple
http://infogerance.asso-polyvalente.fr/trac/browser/this/index.html?rev
et
http://infogerance.asso-polyvalente.fr/trac/browser/this/index.html?rev

n'affichent pas les memes resultats, du moins sous Firefox 2 et Konqueror
(Linux)

Auriez-vous des idées?
Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Francis Spiesser
Le #743219
Mihamina (R12y) Rakotomandimby avait prétendu :
Bonjour,

Pourquoi "this" the "href" et de "onclick" dont différents?

Par exemple
http://infogerance.asso-polyvalente.fr/trac/browser/this/index.html?rev
et
http://infogerance.asso-polyvalente.fr/trac/browser/this/index.html?rev

n'affichent pas les memes resultats, du moins sous Firefox 2 et Konqueror
(Linux)

Auriez-vous des idées?
Merci


Comme ça, intuitivement, je dirais que dans le 1er cas, le f(this) est
exécuté au niveau de la zone d'adresse et que this doit faire référence
à window ou à navigator, tandis que dans le 2ème cas, le contexte
d'exécution est bien celui du <a>

--
______
Francis (enlever .NIPUBNISOUMIS)
"La dinde est tolérante, mais elle déteste les farceurs"

Mihamina (R12y) Rakotomandimby
Le #743217
Francis Spiesser -

Comme ça, intuitivement, je dirais que dans le 1er cas, le f(this) est
exécuté au niveau de la zone d'adresse et que this doit faire référence
à window ou à navigator, tandis que dans le 2ème cas, le contexte
d'exécution est bien celui du <a>


Ok. Merci.
Mais comme je vais pousser toujours plus loin mes expérimentations, comment
prévoir ce comportement? Y a un lien vers une partie de doc qui trainerai
dans les bookmarks des contributeurs?

ASM
Le #743216
Bonjour,

Pourquoi "this" the "href" et de "onclick" dont différents?

Par exemple
http://infogerance.asso-polyvalente.fr/trac/browser/this/index.html?rev
et
http://infogerance.asso-polyvalente.fr/trac/browser/this/index.html?rev

n'affichent pas les memes resultats, du moins sous Firefox 2 et Konqueror
(Linux)


Le premier 'this' (rev 11) est dans le href ...
hop! alert(contenu du href)

Le second 'this' (rev 12) est dans le onclick ...
qui s'occupe de la balise <a> ...
hop! alert(élément lien)


Pour le rev 12, j'eussions fait :

4 function f(elt)
5 {alert(elt); return false;}
6 </script>

et :

9 <a href=" " onClick="return f(this)">test</a>



--
Stephane Moriaux et son (moins) vieux Mac déjà dépassé

Francis Spiesser
Le #743214
Comme ça, intuitivement, je dirais que dans le 1er cas, le f(this) est
exécuté au niveau de la zone d'adresse et que this doit faire référence
à window ou à navigator, tandis que dans le 2ème cas, le contexte
d'exécution est bien celui du <a>


Ok. Merci.
Mais comme je vais pousser toujours plus loin mes expérimentations, comment
prévoir ce comportement? Y a un lien vers une partie de doc qui trainerai
dans les bookmarks des contributeurs?


Je crains que tu ne trouves rien là-dessus, dans la mesure où c'est
(théoriquement !) au programmeur de savoir dans quel contexte il se
trouve

--
______
Francis (enlever .NIPUBNISOUMIS)
"Le présent n'est qu'un futur qui a vieilli"


Mihamina (R12y) Rakotomandimby
Le #743213
Francis Spiesser -

au programmeur de savoir dans quel contexte il se
trouve


Je veux bien. Mais la seule voie est-elle l'expérimentation?
N'y a t il aucune logique, meme approximative, à la chose?

Bruno Desthuilliers
Le #743212
Francis Spiesser -

au programmeur de savoir dans quel contexte il se
trouve


Je veux bien. Mais la seule voie est-elle l'expérimentation?
N'y a t il aucune logique, meme approximative, à la chose?


Si, mais c'est un des points "non-évidents" de Javascript. Une
explication qui en vaut une autre:
http://www.quirksmode.org/js/this.html


Pierre Goiffon
Le #743211
Cette question tombe bien... Je voulais ajouter un petit plus dans ce
que je suis en train de développer. Plusieurs liens ont des onClick
déclenchant des actions, et je souhaitais ajouter des .blur() sur les
liens. Seulement voilà, je n'ai pas prévu de passer le lien en paramètre
de la fonction... Bref aujourd'hui j'ai :


Et je souhaiterai ajouter dans MaFonction une ligne qui déclenche un
.blur()sur le lien... Ajouter this.blur() dans chaque onClick serait en
effet assez lourdingue...

Y-a-t-il un quelconque moyen de récupérer l'objet a dans la fonction
appelée ?
Pierre Goiffon
Le #743210
Pierre Goiffon wrote:
Cette question tombe bien... Je voulais ajouter un petit plus dans ce
que je suis en train de développer. Plusieurs liens ont des onClick
déclenchant des actions, et je souhaitais ajouter des .blur() sur les
liens. Seulement voilà, je n'ai pas prévu de passer le lien en paramètre
de la fonction... Bref aujourd'hui j'ai :


Et je souhaiterai ajouter dans MaFonction une ligne qui déclenche un
.blur()sur le lien... Ajouter this.blur() dans chaque onClick serait en
effet assez lourdingue...


Hahum, j'aurais mieux fait de lire attentivement le fil plutôt que de
juste le parcourir avant de poser ma question :D Mes excuses !

Bref dans le document indiqué par Bruno (message-id:
dans le contexte d'un onClick fait référence à l'objet élément HTML
"appelant". J'ai donc ajouté un this.blur() en tête de ma fonction et
tout roule !

Publicité
Poster une réponse
Anonyme