Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

this de href et onClick

8 réponses
Avatar
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=11
et
http://infogerance.asso-polyvalente.fr/trac/browser/this/index.html?rev=12

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

Auriez-vous des idées?
Merci

8 réponses

Avatar
Francis Spiesser
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"

Avatar
Mihamina (R12y) Rakotomandimby
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?

Avatar
ASM
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é

Avatar
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?


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"


Avatar
Mihamina (R12y) Rakotomandimby
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?

Avatar
Bruno Desthuilliers
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


Avatar
Pierre Goiffon
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 :

<a href="..." onClick="MaFonction(param)">

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 ?
Avatar
Pierre Goiffon
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 :

<a href="..." onClick="MaFonction(param)">

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:
<46554313$0$6218$), il est bien indiqué que this
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 !