Récupérer le clique sur un lien a.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Récupérer le clique sur un lien a.

Re: Récupérer le clique sur un lien a.

par Jc71 » 27 avr. 2021, 23:33

Bonsoir,

Il faut placer l'event listener directement sur la balise ciblée.

Re: Récupérer le clique sur un lien a.

par parfait » 13 avr. 2021, 09:59

Actuellement voila le code que j'ai ecrit, je constate qu'il ne fonctionne pas sur Firefox et en plus je le trouve plutot lourd et pas optimisé.
document.body.addEventListener('click', function(e) {
        let element = e.target;
        while (element) {
            if (element.classList.contains('js-app-link')) {
                e.preventDefault();
                appLink(element);
                element = false;
                break;
            } else if (element.tagName === "BODY") {
                element = false;
                break;
            } else {
                element = element.parentNode;
            }
        }
    });

S'il vous plaît vous avez de meilleures propositions ?

Récupérer le clique sur un lien a.

par parfait » 13 avr. 2021, 09:53

Bonsoir, j'ai un code un peut comme ceci:
document.body.addEvenrListener('click', function(e) {
    const el = e.target

    if (el.classList.contains('app') {
         console.log(el)
    }
})
/* HTML */
<a href="mon lien" class="app">Lien 1</a>

<a href="mon lien" class="app">
    <i class="icon-1"></i>
    <img src="image">
    Lien 2
     <i class="icon-2"></i>
</a>
Pour le lien 1 tous fonctionne bien, mais lorsque le lien contient d'autres éléments HTML (img, i, span etc.) le target me renvoie l'un des éléments HTML enfant.

Moi je veux pourvoir récupérer uniquement le lien parent peut importe le nombre d'enfant qu'il contient. j'aurais bien pu faire des parentNode mais tous les liens n'ont pas la même structure.

Actuellement je me voir bien faire e.path et récupérer le lien compris dans le tableau, mais c'est pas obtimale je pense.

Merci de m'aider si vous avez une solution.