2010-09-19 9 views
0

Utilisation de couches et de liens superposés dans JQueryComment utiliser les couches et les liens superposés dans JQuery?

tr________________________________________________________________________________ | td | td | td | | case à cocher | contenu | contenu ___________ | | ____________ | ____________________________________ | _______________ | _a ____ lien _____ | J'ai une table remplie de valeurs et une partie du contenu contient trop de texte, donc j'ai utilisé une fonction jquery pour tronquer le contenu du texte s'il dépasse une limite. La fonction truncate ajoute un lien à la fin d'un texte pour l'extraire/l'étendre.

par exemple. "Le renard brun rapide saute par-dessus le" va montrer "Le renard brun rapide [plus]" (le [plus] est le lien pour l'agrandir). Maintenant mon problème est que j'ai construit la page pour sélectionner/désélectionner la case lorsque vous cliquez n'importe où sur la ligne (balise tr) mais je ne veux pas que la case soit cochée lorsque je clique sur le lien ie le lien (une balise) chevauche la ligne (balise tr). J'ai cherché à filtrer l'étiquette a avec des sélecteurs et à utiliser des travées ou des divs pour les incorporer sous la liaison pour empêcher toute interaction avec la rangée de base. J'ai réussi à bloquer le clic sur une zone à l'aide de divs et span mais il ne bloque que si la position css est définie sur absolute. Dans ce cas, plusieurs divs ou span se chevaucheront tous sur une ligne plutôt que sur chaque lien.

Cela aurait été plus simple si je pouvais faire quelque chose comme ceci:.

$ ("tr") chaque (function() { if ($ (this) .Find ("a") est. ("clic") {// ne rien } else { if ($ (this) .Find ("tr") est ("clic") {// Cocher la case }.);

} });

J'ai juste besoin d'effectuer une instruction if vérifiant si les liens ou les liens dans les lignes ont été cliqués et effectuent des actions sur ce sujet.

Répondre

0

Renvoyez juste false du gestionnaire pour le lien. Ceci empêchera que l'action normale du lien ne soit prise et l'empêchera de bouillonner.

$('tr a.showMore').click(function() { 
     ... expand the text or show a popup... 
     return false; // don't allow it to bubble up 
}); 
Questions connexes