Comment puis-je mettre en évidence une ligne de tableau à l'aide de Prototype?
Comment puis-je utiliser le Prototype de la bibliothèque et de créer javascript discret pour injecter le onmouseover et onmouseout des événements pour chaque ligne, plutôt que de mettre du javascript dans chaque ligne de la table de tag?
Une réponse en utilisant le Prototype de la bibliothèque (au lieu de mootools, jQuery, etc) serait le plus utile.
source d'informationauteur Jason Navarrete
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser du Prototype
addClassName
etremoveClassName
méthodes.Créer une classe CSS "hilight" que vous pourrez appliquer à la hilighted
<tr>
'. Puis exécutez ce code au chargement de la page:Un peu de solution générique:
Disons que je veux avoir un moyen simple de faire des tables avec des lignes qui mettra en évidence quand je mets le pointeur de la souris au-dessus d'eux. Dans un monde idéal, ce serait très facile, avec seulement une simple règle CSS:
Malheureusement, les anciennes versions d'IE ne prennent pas en charge :placez le sélecteur sur des éléments autres que A. Donc, il faut utiliser du JavaScript.
Dans ce cas, je vais définir un tableau de classe "highlightable" pour marquer les tables qui devrait avoir hoverable lignes. Je vais faire le fond de commutation par l'ajout et la suppression de la classe "highlight" sur la ligne de la table.
CSS
JavaScript (à l'aide de Prototype)
HTML
Tout ce que vous avez à faire maintenant est d'ajouter la classe "highlightable" à n'importe quelle table vous souhaitez:
J'ai fait une légère modification @swilliams code.
Cela me permet d'avoir un tableau avec une ligne d'en-tête qui n'est pas obtenir en surbrillance.
Vous pouvez faire quelque chose pour chaque ligne, comme ceci:
Donc, dans le corps de cette fonction, vous avez accès à chaque ligne, un à un, dans la 'ligne' de la variable. Vous pouvez ensuite appeler l'Événement.observer(ligne, ...)
Donc, quelque chose comme ça pourrait fonctionner:
J'ai trouvé ab solution intéressante pour les Lignes d'arrière-plan, les lignes mettant en évidence sur le dessus de la souris, sans JS. Voici lien
Fonctionne dans tous les navigateurs. Pour IE6/7/8 ...
Et pour Safari-je utiliser négatif de fond pour chaque TD.