Aide pour le blocage des pop-up Javascript

Salut, je ne m’y connais pas vraiment en Javascript et j’ai essayé d’utiliser ChatGPT pour générer un script qui permet aux éléments d’un tableau d’afficher un bloc pop-up avec des informations lorsqu’ils sont cliqués. Les éléments sont dans un tableau, si cette information est utile.\n// Obtenir l'élément tableau\nconst tableElement = document.querySelector(\"table\");\n\n// Ajouter un écouteur d'événements de clic au tableau\ntableElement.addEventListener(\"click\", function(event) {\n // Obtenir l'élément qui a été cliqué\n const clickedElement = event.target;\n\n // Faire quelque chose uniquement si l'élément cliqué est un td\n if (clickedElement.tagName === \"TD\") {\n // Créer l'élément pop-up et l'ajouter à la page\n const popup = document.createElement(\"div\");\n popup.classList.add(\"popup\");\n popup.innerHTML = \"Ceci est le contenu du pop-up !\";\n document.body.appendChild(popup);\n\n // Positionner le pop-up à côté de l'élément cliqué\n const rect = clickedElement.getBoundingClientRect();\n popup.style.top = `${rect.top + window.scrollY + 10}px`;\n popup.style.left = `${rect.left + window.scrollX + 10}px`;\n }\n});\n\n\n\n\nIl a créé ceci, mais en l’essayant, cela ne fonctionne pas. Pouvez-vous m’aider à trouver ce qui ne va pas ?

Discourse est une application JavaScript complexe et réaliser quelque chose comme cela est probablement plus compliqué que du JS simple… vous aurez probablement besoin de plus d’aide que ce que ChatGPT peut fournir, et je ne suis pas sûr que vous obtiendrez ce niveau de support gratuitement ici !

Cela dit, avant que quiconque puisse vous donner des conseils ici, nous devrons en savoir plus sur ce que vous essayez d’accomplir. Où se trouve ce tableau dans Discourse ? dans un post ? ailleurs ? Quelles informations contiendraient ce bloc ?

4 « J'aime »

Je pense que c’est juste, mais j’y ai réfléchi (sans regarder le code), et je pense que Discourse Translator fait quelque chose de très similaire. Je pense que c’est par là qu’il faut commencer, mais « Salut, donc je ne connais pas vraiment le javascript » n’est probablement pas le niveau de compétence dont vous avez besoin pour y parvenir.

Je suppose que quelqu’un qui connaît l’écriture de plugins aura besoin de 5 à 10 heures (mais peut-être 2 pour une preuve de concept).

2 « J'aime »

Ça va, hahah.
Le tableau sur Discourse est situé « Sous l’en-tête », sur la page d’accueil. Je prévois d’entrer manuellement plusieurs textes liés dans les cases. Faites-moi savoir si vous avez besoin de plus d’informations.