Questa è la mia prima incursione nell'uso di Javascript con HTML. Sto cercando di aggiungere eventi di clic agli elementi dell'elenco in un elenco ordinato, ma qualcosa sul modo in cui sto facendo non funziona. Qualcuno può far luce su questo per me?Impossibile aggiungere eventi click per elencare gli articoli
Creo una funzione nel mio head
che dovrebbe delegare tutti gli eventi di clic sugli elementi di un elenco specifico a una determinata funzione e in tale funzione cerco di generare un semplice avviso con il testo dell'elemento di elenco. Alla fine voglio fare di più, ma sto solo cercando di ottenere i semplici eventi click per funzionare prima.
<html>
<head>
<script type="text/javascript">
// Attach an event handler to the 'topfriends' list to handle click events.
function attachEventHandlerToList() {
document.getElementById("#top4list").delegate("li", "click", function(clickEvent) {
alert(this.innerHTML());
});
}
</script>
</head>
<body>
<div id="topfriends">
<h3>Top 4 Most Friendable Friends</h3>
<ol id="top4list" onload="attachEventHandlerToList()">
<li>Brady</li>
<li>Graham</li>
<li>Josh</li>
<li>Sean</li>
</ol>
</div>
</body>
Ah, anche questo funziona! E scommetto che è più efficiente dell'assegnazione di singoli eventi di clic a ciascun elemento dell'elenco, che è quello che stavo cercando di evitare usando 'delegate()'. – DesAdams
Ma aspetta! Come posso ottenere il testo all'interno dell'elemento dell'elenco? Usando 'e.target.id' si ottiene l'id del' li', giusto? Alla fine genererò questa lista e 'e.target.innerHTML' non stampa nulla. – DesAdams
Nevermind, 'innerHTML' funziona totalmente. Immagino di averlo sbagliato a scrivere o di non aver salvato le modifiche lol.Colpa mia! – DesAdams