Je suis nul en javascript
Résolu/FerméBenjaminA2mains Messages postés 43 Date d'inscription dimanche 1 août 2021 Statut Membre Dernière intervention 5 février 2023 - 10 sept. 2022 à 21:21
- Je suis nul en javascript
- Telecharger javascript - Télécharger - Langages
- Javascript void 0 c'est quoi ✓ - Forum Réseaux sociaux
- Javascript est activé mais ne fonctionne pas ✓ - Forum Réseaux sociaux
- Node.js javascript runtime virus ✓ - Forum Virus
- Javascript echo ✓ - Forum PHP
3 réponses
10 sept. 2022 à 09:00
bonjour,
Ne serait-ce pas plus simple d'utiliser onclick?
https://www.delftstack.com/fr/howto/javascript/javascript-set-onclick/
10 sept. 2022 à 09:15
Bonjour
Où est placé ton code js par rapport à ton html ?
Pourrais-tu montrer l'intégralité de ton code ?
Modifié le 10 sept. 2022 à 19:37
Il est placé dans le même dossier
J'ai vérifier un peu près 154 fois le lien, je suis sûr à 100% que ça vient pas de là.
Voilà mon code html complet et mon js tu l'a déjà complet au dessus
<html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <meta name="color-scheme" content="light dark"> <title>Index</title> <link rel="stylesheet" href="main.css"> <link rel="icon" href=".\img\favicon.svg"> <script src="clipboard.js"></script> </head> <body> <span class="page-title" id="index">Index</span> <div> <div class="product"> <span class="title"># - 9</span> <span class="detail"><a href="#">Plus de détail</a></span> <input type="checkbox" hidden id="0"> <label class="show" for="0" tabindex="0"></label> <div class="code"> <p> 5cps </p> <button class="btn-copie"> <img src="./img/5cps.jpg"/> </button> </div> </div> </div> </body> </html>
Je suis en train de m'exploser mon crâne mais comme d'hab j'ai le sentiment que ça va être un truc à la con
10 sept. 2022 à 19:58
Je pense savoir quelle est la cause de ton souci en général c'est toujours la même pour les débutants...
Tu as placé l'appel à ton script javascript dans le head de ton HTML.
Le problème, c'est que ton script s'exécute avant que ta page HTML ne soit formée...
Je t'invite à déplacer l'appel de ton script juste avant la fin de ton body.
C'est d'ailleurs une bonne pratique à conserver pour tes futurs développements.
10 sept. 2022 à 20:06
<html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <meta name="color-scheme" content="light dark"> <title>Index</title> <link rel="stylesheet" href="main.css"> <link rel="icon" href=".\img\favicon.svg"> </head> <body> <span class="page-title" id="index">Index</span> <div> <div class="product"> <span class="title"># - 9</span> <span class="detail"><a href="#">Plus de détail</a></span> <input type="checkbox" hidden id="0"> <label class="show" for="0" tabindex="0"></label> <div class="code"> <p> 5cps </p> <button class="btn-copie"> <img src="./img/5cps.jpg"/> </button> </div> </div> </div> <script src="clipboard.js"></script> </body> </html>
J'ai fait comme tu as dit, donc comme ça ⬆️
Mais ça fonctionne toujours pas ????
10 sept. 2022 à 21:07
console.log("fichier js chargé!"); const btnCopie = document.querySelector('.btn-copie'); const img = document.querySelector('.btn-copie > img'); btnCopie.addEventListener('click', (z) => { copyClip(z.target); }); img.addEventListener('click', (z) => { copyClip(z.target.parentNode); }); function copyClip(z){ console.log(z); let p = z.previousElementSibling ; console.log(p); let text = p.textContent; console.log(text); navigator.clipboard.writeText(text); alert("Code copié !"); }
10 sept. 2022 à 21:21
Ça marche, merci beaucoup !!