mam listę przycisków (kwadraty) w HTML podobnego -Jak dodać obsługi zdarzeń do przycisków HTML z kodem javascript
<td><button id="18" ></button></td>
<td><button id="28" ></button></td>
<td><button id="38" ></button></td>
...
wcześniej, dla każdego przycisku, musiałem umieścić kod w przycisk oznaczyć się, aby dodać moduł obsługi zdarzeń, taki jak ten -
<button id="18" onclick="squareWasClicked(event)">
function squareWasClicked(event)
{
var element = event.target;
// more code
}
Ale teraz odkryłem, że nie jest to dobra praktyka. Zamiast tego próbuję dodać moduły obsługi zdarzeń z mojego kodu javascript. Ale nie wiem, jak to zrobić. Do tej pory próbowałem tego -
function assignEventsToSquares()
{
var i,j;
for(i=1;i<=8;i++)
{
for(j=1;j<=8;j++)
{
var squareID = "" + i + "" + j;
var square = document.getElementById(squareID);
square.onclick = squareWasClicked();
}
}
}
Ale to po prostu wywołuje funkcję squareWasClicked(). Jak więc dodać go jako funkcję obsługi zdarzeń, aby funkcja była wywoływana po kliknięciu tego kwadratu? Ponadto, jak mogę powiedzieć coś takiego jak zdarzenie nie zostanie wykryte w kodzie JavaScript. Proszę pomóż.
Dzięki! To było takie zwięzłe! Dlaczego więc używany jest addEventListener? Czy jest to starsza składnia? – CodeBlue
'addEventListener' jest * nowszą * składnią * (pojawia się w DOM 2, w przeciwieństwie do słuchaczy DOM 0, które rozważasz). Jeśli nie korzystasz z DOM 2, tracisz! :) –