• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

addEventListener co robię nie tak?

VPS Starter Arubacloud
0 głosów
204 wizyt
pytanie zadane 1 maja 2018 w JavaScript przez GracjanDogg Użytkownik (840 p.)
function tabela(){
    var row = document.getElementById("myTr");
    row.src = "martwykaktoolodyga.png";
    var x = row.insertCell(-1);
    x.innerHTML = '<center><img src="martwykaktoolodyga.png" width="50px"></center>';
    x.addEventListener("onclick", function(x){
        alert("Cell index is: " + x.cellIndex);
    });
<table id="tabela">
 <tr id="myTr">                         
 </tr>
</table>

Czemu tworzącemu się <td> nie mogę przypisać tej funkcji? Gdy zrobię w html <td onclick="tutajFunkcjazAlertem(this)"> to wszystko działa, zapisuje w alercie numer z indexem, ale już w addEventListener nie, nic się nie wyświetla. Wpisuję w konsoli tę funkcję i pisze, że index jest niezdefiniowany.

komentarz 1 maja 2018 przez adrian17 Ekspert (344,100 p.)
zdarzenie nazywa się `click`, nie `onclick`.
komentarz 1 maja 2018 przez GracjanDogg Użytkownik (840 p.)
'click' również nie działa, zmieniłem to na 'onclick' jak już pomysłu nie miałem.

3 odpowiedzi

+1 głos
odpowiedź 1 maja 2018 przez hun1er76 Stary wyjadacz (11,960 p.)

Najpierw wczytać strukturę DOM, a dopiero później kod js. A poza tym obiektem właściwości cellIndex powinien być this.

komentarz 1 maja 2018 przez GracjanDogg Użytkownik (840 p.)
"Najpierw wczytać strukturę DOM, a dopiero później kod js" W jaki sposób?
komentarz 1 maja 2018 przez Mariusz08 Maniak (62,300 p.)
komentarz 1 maja 2018 przez adrian17 Ekspert (344,100 p.)

 A poza tym obiektem właściwości cellIndex powinien być this.

(a jeszcze lepiej użyć event.target)

+1 głos
odpowiedź 1 maja 2018 przez BT101 Stary wyjadacz (12,540 p.)

Domknij funkcje i ją wywołaj bo bez wywołania ten kod w ogóle się nie wykona.. No i zmień onclick na click i nie używaj center.. I img powinien mieć alt...

Przeanalizuj sobie prosty przykład.

Sprawdź czy nie masz jeszcze jakichś innych błędów w konsoli.

0 głosów
odpowiedź 1 maja 2018 przez GracjanDogg Użytkownik (840 p.)
Znalazłem rozwiązanie, bardzo mi pomogliście.

Podobne pytania

0 głosów
1 odpowiedź 544 wizyt
0 głosów
1 odpowiedź 459 wizyt
0 głosów
2 odpowiedzi 446 wizyt
pytanie zadane 7 czerwca 2022 w JavaScript przez lenzo1 Początkujący (360 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...