event.preventDefault(); sur iphone / safari

Par utilisateur, il y a 8 ans


Bonjour à toutes et à tous,
j'ai un lien dont il faudrais bloquer la redirection

<p align='left'> <a class='add_panier' href='../../php/addcoeur.php?an=3'><img src='../../img/c.png' onclick='javascript:this.src=\"../../img/c2.png\";'/></a></p>";

event.preventDefault(); ne semble pas fonctionner sur Safari. Comment faire pour empécher de charger de page à la suite d'un click sur un href ?

j'ai essayé ça et c'est pareil

(function($){ if(event && event.stopPropagation && event.preventDefault) { event.stopPropagation(); event.preventDefault(); } return false; })(jQuery); }

et çà bé c'est pareil ???

(function($){ $('.add_panier').click(function(event){ alert('coucou'); event.preventDefault(); })(jQuery); }

merci pour votre aide

12 réponses

utilisateur, il y a 8 ans

Salut pierrot
Non le coucou ne s'affiche pas, comme si je ne rentrais pas dans la fonction... Le truc c'est que ça fonctionne sur Firefox pourtant...

Pierrot01, il y a 8 ans

Essaye ça ;)

(function($){ $('.add_panier').on('click',function(event){ alert('coucou'); event.preventDefault(); }); }

@plus

Pierre

Kenor, il y a 8 ans

Comme ceci :

(function($){ $('.add_panier').on('click', function(e){ e.preventDefault(); }); })(jQuery);

(évidemment, en considérant que tu as bien chargé la library jquery avant)

Pierrot01, il y a 8 ans

Salut,
Tu vois le Alert('coucou') ?

@plus

Pierre

utilisateur, il y a 8 ans

Merci pour votre aide,

Bé aucun des deux ne bloque la redirection, et pierrot ça n'affiche pas "coucou" zut de zut

utilisateur, il y a 8 ans

voila le code en plus large...

<script src="../js/jquery.ui.js"></script> <script src="../js/main.js"></script> <div id="popup_Coeur" class="popup_blockCoeur" > <div id="infoCoeur" style="width:390; height:700" > <br/>&nbsp;&nbsp;&nbsp;<font face="verdana" color="#000087" >L'annonce a &eacute;t&eacute; ajout&eacute;e au panier. </div> </div> <script > (function($){ $('.add_panier').on('click', function(e){ e.preventDefault(); }); })(jQuery); </script>

la div "popup_Coeur" sera affiché mais ce csera dans un deuxième temps car avant il faut résoudre le probleme de redirection

Pierrot01, il y a 8 ans

Je vois pas de class add_panier !!??

utilisateur, il y a 8 ans

elle est encore plus haut dans le code. Sur un lien que voici

<a class='add_panier' href='../../php/addcoeur.php?an=".$result["ID"]."'><img src='../../img/c.png' width='30' id='change' onclick='javascript:this.src=\"../../img/c2.png\";'/></a>
utilisateur, il y a 8 ans

Je viens de déplacer le code dans une autre page et ça fonctionne. C'est donc qu'il y a un truc qui cloche ailleurs dans la page, je continuerais à frafouiller demain

Pierrot01, il y a 8 ans

Salut :
regarde bien ta ligne de code !!!

<p align='left'> <a class='add_panier' href='../../php/addcoeur.php?an=3'><img src='../../img/c.png' onclick='javascript:this.src=\"../../img/c2.png\";'/></a></p>";

elle comprend : onclick='javascript:this.src=\"../../img/c2.png\";'/>

et le onclick dans le onclick, ça doit bouilloner un max : D
elève le onclick dans ton <a> </a> et çq devrait fonctionner ;)

@plus

Pierre

utilisateur, il y a 8 ans

Ca y est c'etait un probleme de librairie !!!!!!

je le met si ça peu aider quelqu'un

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

Merci infiniment pour votre aide

Kenor, il y a 8 ans

La parenthèse dans mon message n'était pas inutile ...