11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'ai un tableau html classique. Lorsque je place la souri sur un ligne cette dernière passe en surbrillance et quand je clique sur cette ligne j'ai un alert (générer par une fonction) qui m'indique que j'ai cliqué sur la ligne.

Dans les lignes de mes tableaux, j'ai des liens mais quand je clique sur ces derniers j'ai encore mon alert qui indique que j'ai cliqué sur la ligne du tableau.

Je voudrais que lorsque je clique sur un lien on ne détecte pas le clique sur la ligne. J'ai pensé au z-index mais sans résultat.

En fait ma fonction est appelé 2 fois. Une fois pour le lien et une fois pour l a ligne.

J'espère avoir été assez clair. Je vous montre la structure html au cas ou.


<table border="1" width="200">
	<tr class="blanc" onmouseover="this.className='rouge'" onmouseout="this.className='blanc'" onclick="clique(1);">
		<td width="100">
			<span style="z-index: 2;"><a href="#" title="lien" onclick="clique(3)">Cell 1</a></span>
		</td>
		<td width="100">
			<div style="z-index: 2;"><a href="#" title="img" onclick="clique(2);" style="z-index: 2;"><img src="dd.gif" alt="dd"></a></div>
		</td>
	</tr>
</table>


Merci de vos réponses.
Modifié par exotux (04 May 2005 - 14:51)
J'ai trouvé une solution mais pas top là voici

un petit js :

<script language="javascript">
		var i = 0;
		
		function clique(num) {
			alert("Appel fonction clique :" +num);
			if (i == 0) {
				if (num == 1) {
					alert("Ligne");
					document.location.href="a.html";
				} 
				if (num == 2) {
					alert('Lien');
					//document.location.href="b.html";
					i++
				}
			} else {
				i = 0;
			}
		}
	</script>


et le html :


<table border="1" width="200">
	<tr class="blanc" onmouseover="this.className='rouge'" onmouseout="this.className='blanc'" onclick="clique(1);">
		<td width="100">
			<a href="#" title="lien" onclick="clique(2)">Cell 1</a>
		</td>
		<td width="100">
			<a href="#" title="img" onclick="clique(2);"><img src="dd.gif" alt="dd"></a>
		</td>
	</tr>
	<tr class="blanc" onmouseover="this.className='rouge'" onmouseout="this.className='blanc'" onclick="clique(1);">
		<td width="100">
			<a href="#" title="lien" onclick="clique(2)">Cell 3</a>
		</td>
		<td width="100">
			<a href="#" title="img" onclick="clique(2);"><img src="dd.gif" alt="dd"></a>
		</td>
	</tr>
	</table>


Voilà si vous avez mieux je suis preneur !
Modifié par exotux (06 May 2005 - 10:54)
Bonjour,

Merci de mettre le code javascript entre [ code] et [ /code] comme pour le html. Smiley cligne