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

trigger.('click')

4 réponses
Avatar
loiseauthierry
Bonjour,

J'essaie de simuler un clic sur un lien au chargement d'une page.
Voici mon test qui ne fonctionne pas :

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Voici mon test qui ne fonctionne pas</title>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body onload="$('#monimage').trigger('click');">
<a href="404.jpg" id="monimage">La Peugeot 404</a>
</body>
</html>

?

--
* * __*__ *
* * * -----oOOo--- O ---oOOo------- * *
http://astrophoto.free.fr *
* * -------- oOOo oOOo ---------- *

4 réponses

Avatar
Doug713705
Le 2018-08-13, Thierry Loiseau nous expliquait dans
fr.comp.lang.javascript
(<1nth1ix.hz6u0vmwkog0N%) :
Bonjour,

Bonjour,
J'essaie de simuler un clic sur un lien au chargement d'une page.
Voici mon test qui ne fonctionne pas :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Voici mon test qui ne fonctionne pas</title>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script&gt;
</head>
<body onload="$('#monimage').trigger('click');">
<a href="404.jpg" id="monimage">La Peugeot 404</a>
</body>
</html>

Premièrement il ne s'agit pas de JavaScript à proprement parler mais de
JQuery ce qui n'est pas tout à fait la même chose même si JQuery est une
bibliothèque pour JavaScript.
Enfin, je ne connais pas spécialement JQuery mais il me semble qu'il
faut au moins définir un appel de fonction sur l'évenement "onclick" de
l'élément sur lequel tu simules le clic si tu veux que ça fonctionne.
Dans le cas contraire, le clic est effectué mais aucune action n'étant
définie en cas de clic il ne se passe donc rien.
Je suppose que quelquechose comme
<a href="404.jpg" id="monimage" onclick="alert('plop');">La Peugeot 404</a>
fonctionnera et affichera une alerte "plop" au chargement de la page.
Tout ce que j'écris ici est à prendre au conditionnel car jusqu'ici j'ai
toujours réussi à me passer de JQuery dont je n'ai jamais compris
l'intérêt.
--
Je ne connaîtrai rien de tes habitudes
Il se peut même que tu sois décédée
Mais j'demanderai ta main pour la couper
-- H.F. Thiéfaine, L'ascenceur de 22H43
Avatar
Y.D.
Bonjour,
Le 13/08/2018 à 12:33, Thierry Loiseau a écrit :
J'essaie de simuler un clic sur un lien au chargement d'une page.
Voici mon test qui ne fonctionne pas :
[..]
<script src="https://code.jquery.com/jquery-1.10.2.js"></script&gt;

Un coup d'oeil rapide sur http://api.jquery.com/trigger/
te donnera le pourquoi. Pas besoin de jQuery cependant
pour réaliser ce que tu souhaites.
Le code ci-dessous doit fonctionner, mais peut-être pas sur
tous les navigateurs : autrefois activer par script des
liens était prohibé par sécurité, mais HTML5 l'autorise...
cf. https://developer.mozilla.org/fr/docs/Web/API/HTMLElement/click
<!DOCTYPE html>
<head>
<title>sans titre</title>
<meta charset="utf-8">
</head>
<body onload="document.getElementById('monimage').click();">
<a href="404.jpg" id="monimage">La Peugeot 404</a>
</body>
</html>
--
YD
Avatar
loiseauthierry
Doug713705 wrote:
Le 2018-08-13, Thierry Loiseau nous expliquait dans
fr.comp.lang.javascript
(<1nth1ix.hz6u0vmwkog0N%) :
Bonjour,

Bonjour,
J'essaie de simuler un clic sur un lien au chargement d'une page.
Voici mon test qui ne fonctionne pas :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Voici mon test qui ne fonctionne pas</title>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script&gt;
</head>
<body onload="$('#monimage').trigger('click');">
<a href="404.jpg" id="monimage">La Peugeot 404</a>
</body>
</html>

Premièrement il ne s'agit pas de JavaScript à proprement parler mais de
JQuery ce qui n'est pas tout à fait la même chose même si JQuery est une
bibliothèque pour JavaScript.

Oui, j'ai aussi posté en parallèle sur fciwa (pas de réponse) d'où mon
article ici même :(
Enfin, je ne connais pas spécialement JQuery mais il me semble qu'il
faut au moins définir un appel de fonction sur l'évenement "onclick" de
l'élément sur lequel tu simules le clic si tu veux que ça fonctionne.
Dans le cas contraire, le clic est effectué mais aucune action n'étant
définie en cas de clic il ne se passe donc rien.
Je suppose que quelquechose comme
<a href="404.jpg" id="monimage" onclick="alert('plop');">La Peugeot 404</a>
fonctionnera et affichera une alerte "plop" au chargement de la page.
Tout ce que j'écris ici est à prendre au conditionnel car jusqu'ici j'ai
toujours réussi à me passer de JQuery dont je n'ai jamais compris
l'intérêt.

Merci pour votre proposition (mais ça ne fonctionne pas :( ) ...
J'avais par ailleurs réussi à déclencher ce clic virtuel sur mon site :
http://www.villeterrasson.free.fr où j'utilise JQuery pour un fancybox.
============================================================================ ... ligne 184
<body onload="$('#annonce').trigger('click')">
... puis ligne 436
<a id="annonce" href="chats/chatonnes-a-adopter.jpg" class="fancybox"
style="display:none;"><img src="chats/chatons-a-adopter-v.jpg"
height="60" alt="" title="Annonce officielle...&#10;Vendredi 30 juin
2018&#10;Sorti.e.s le samedi 21&#10;juillet vers 3h50-4h05 &#10;(leurs
14e semaine)"></a>
============================================================================
Bon, pas trop grave... au final, je voulais faire un test d'ouverture
d'un menu contextuel.
Thierry
--
* * __*__ *
* * * -----oOOo--- O ---oOOo------- * *
http://astrophoto.free.fr *
* * -------- oOOo oOOo ---------- *
Avatar
loiseauthierry
Y.D. wrote:
Bonjour,
Le 13/08/2018 à 12:33, Thierry Loiseau a écrit :
J'essaie de simuler un clic sur un lien au chargement d'une page.
Voici mon test qui ne fonctionne pas :
[..]
<script src="https://code.jquery.com/jquery-1.10.2.js"></script&gt;

Un coup d'oeil rapide sur http://api.jquery.com/trigger/
te donnera le pourquoi. Pas besoin de jQuery cependant
pour réaliser ce que tu souhaites.
Le code ci-dessous doit fonctionner, mais peut-être pas sur
tous les navigateurs : autrefois activer par script des
liens était prohibé par sécurité, mais HTML5 l'autorise...
cf. https://developer.mozilla.org/fr/docs/Web/API/HTMLElement/click
<!DOCTYPE html>
<head>
<title>sans titre</title>
<meta charset="utf-8">
</head>
<body onload="document.getElementById('monimage').click();">
<a href="404.jpg" id="monimage">La Peugeot 404</a>
</body>
</html>

Merci beaucoup Yves ! Plaisir de te retrouver :)
Thierry
--
* * __*__ *
* * * -----oOOo--- O ---oOOo------- * *
http://astrophoto.free.fr *
* * -------- oOOo oOOo ---------- *