Get Cliqué & lt; li & gt; à partir de & lt; ul onclick & gt;
Comme un débutant avec JS, je me bats pour essayer de trouver une solution à cette question.
J'ai besoin de savoir quelle ligne d'une liste non ordonnée a été cliqué
<ul onclick="alert(this.clicked.line.id);">
<li id=l1>Line 1</li>
<li id=l2>Line 2</li>
<li id=l3>Line 3</li>
</ul>
Je n'ai pas vraiment envie d'ajouter un événement onclick pour chaque ligne, je suis sûr qu'il doit y avoir un moyen ??
source d'informationauteur crankshaft
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
event.target
pour cela:JS:
HTML:
Exemple: http://jsfiddle.net/ArondeParon/2dEFg/5/
Veuillez noter que ceci est un exemple très simple et vous serez susceptibles de rencontrer des problèmes lorsque vous déléguez des événements pour les éléments contenant plus d'un niveau. Lorsque cela se produit, vous devrez parcourir l'arborescence DOM vers le haut pour trouver l'élément conteneur.
L'objet qui a été effectivement cliqué est
à l'intérieur de la
onclick
de rappel. Ce que vous essayez de faire est une bonne idée, et il est connu comme événement délégation.http://jsfiddle.net/VhfEh/
Vous pouvez utiliser l'événement.cible pour cette:
Ne semble pas fonctionner donc j'ai fait une petite modification semble fonctionner maintenant.
//Le moyen le plus simple pour ce faire pourrait être d'ajouter un paramètre de requête pour vos liens: