J’ai une configuration d’accordéon comme suit:
$('.shortheadline').accordion({ active: false, header: '.headline', autoHeight: false, animated: 'slowslide', changestart: function(event, ui) { $('.brief').css('min-height','0') }, change: function(event, ui) { $('.brief:visible').css('min-height','80px'); $('.headline').blur(); } });
Je veux que le clic ne soit enregistré que sur le div .headline, pas le lien à l’intérieur. Le lien devrait vous mener à la page de l’article.
Existe-t-il un moyen d’empêcher la propagation d’événements de sorte que l’accordéon ne se déclenche qu’en cliquant sur une div? Ou existe-t-il un moyen de permettre à l’action par défaut du lien de continuer?
J’ai essayé:
$("a").click(function(){ window.location=this.href; });
Ce qui rend le lien fonctionnel, mais ne permet pas à l’utilisateur d’ouvrir le lien dans un nouvel onglet / fenêtre.
Merci!
Essayer
$("a").click(function(event){ event.stopPropagation(); });
La fonction click reçoit un object ‘event’. En appelant la méthode ‘stopPropagation’ de l’object événement, vous pouvez empêcher la formation de bulles.
J’ai rencontré cette syntaxe alternative qui a fonctionné pour moi;
$("a").bind("click", function(e) {e.stopPropagation();});