Désactiver un window.open() juste pour un lien

Désactiver un window.open() juste pour un lien - HTML/CSS - Programmation

Marsh Posté le 11-02-2012 à 15:01:48    

Salut,
 
J'ai un tableau dont les lignes entières sont clicables comme ceci pour mener vers mapage.html :
 

Code :
  1. <table>
  2. <tr onclick="window.open('mapage.html')">
  3.   <td>Coucou</td>
  4. </tr>
  5. </table>


 
Mais j'ai un souci car dans cette ligne, je voudrais qu'un lien n'ouvre pas la nouvelle fenêtre (donc désactive le window.open) mais mène dans la même fenêtre vers mapage2.html
 

Code :
  1. <table>
  2. <tr onclick="window.open('mapage.html')">
  3.   <td>Coucou <a href="mapage2.html">clic me</a></td>
  4. </tr>
  5. </table>


 
Comment faire car actuellement ça ouvre mapage2 ET ça ouvre une nouvelle fenêtre avec mapage.html
 
Merci !


---------------
Bha ouais mais bon, m'enfin quoi...
Reply

Marsh Posté le 11-02-2012 à 15:01:48   

Reply

Marsh Posté le 11-02-2012 à 16:35:28    

Enlever le onclick="window.open('mapage.html')" du <tr> ?

Reply

Marsh Posté le 11-02-2012 à 16:38:33    

Salut.
Ton problème est un problème d'event bubbling. En gros l'evenement remonte la pile de container et est pris en compte par tous ceux qui l'écoutent.
Voici la solution : http://jsfiddle.net/mqhCE/2/

Reply

Marsh Posté le 11-02-2012 à 18:26:00    

Pc_eXPert a écrit :

Enlever le onclick="window.open('mapage.html')" du <tr> ?


Ca c'est de l'aide...
 
Merci dagum. N'y a t il rien de moins lourd que d'insérer une librairie ?
Je ne peux pas "juste" faire en sorte que le clic sur le a href ne déclenche pas le window.open ?


---------------
Bha ouais mais bon, m'enfin quoi...
Reply

Marsh Posté le 11-02-2012 à 19:14:34    

Tu n'as pas besoin de librairie tu peux juste mettre :
<a href="mapage2.html" onclick="event.cancelBubble = true;if(event.stopPropagation)event.stopPropagation();">clic me</a>
dans ton td.

Reply

Marsh Posté le 12-02-2012 à 12:35:31    

ok merci je vais tester c'est cool !


---------------
Bha ouais mais bon, m'enfin quoi...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed