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

question-closed Obserwator nie wywołuje funkcji

VPS Starter Arubacloud
0 głosów
351 wizyt
pytanie zadane 27 listopada 2017 w JavaScript przez Al3x Użytkownik (870 p.)
zamknięte 27 listopada 2017 przez Al3x

Witam wszystkich

Mam mały problem odnośnie obserwatora zdarzeń który nie wywołuje funkcji. Niestety nie wiem gdzie popełniłem błąd i liczę na pomoc :/ 

var flipCoin = function() {
    var number = Math.round(Math.random());
    


   if(number < 1){
        $('.board').css('background-image', 'url(img/orze%C5%82.png)');
    }else {
        $('.board').css('background-image', 'url(img/reszka.png)'); 
    } 
}
var el = document.getElementsByTagName('button')[0];
el.addEventListener('click', flipCoin, false);

 

+Taki komunikat występuje w konsoli

Uncaught TypeError: Cannot read property 'addEventListener' of undefined
    at main.js:13
(anonymous) @ main.js:13

 

komentarz zamknięcia: Rozwiązane

2 odpowiedzi

+1 głos
odpowiedź 27 listopada 2017 przez Tomek Sochacki Ekspert (227,510 p.)
wybrane 27 listopada 2017 przez Al3x
 
Najlepsza
skrypt masz podpięty przed </body> ? to znaczy dokładniej mówiąc ZA elementami DOM, do których chcesz się dostać? (dlatego najbezpieczniej robić to na końcu body)
komentarz 27 listopada 2017 przez Al3x Użytkownik (870 p.)
Faktycznie działa dziękuje bardzo :D
komentarz 27 listopada 2017 przez Tomek Sochacki Ekspert (227,510 p.)
Jeśli dopiero zaczynasz naukę to wbij sobie do głowy: JS zawsze przed </body>.

Z czasem poznasz jeszcze inne opcje, np. async/defer ale generalnie najczęściej i tak robi się tak jak napisałem.

I serio.. wbij sobie to porządnie, mówię z własnego doświadczenia i początków z html/js... :) Kiedyś fora był mniej popularne i tak rozbudowane jak dziś i dłużej zajmowało ogarnięcie takich błędów... i nie raz takie głupie w sumie błędy kosztowały mnie sporo czasu :)
+1 głos
odpowiedź 27 listopada 2017 przez Schizohatter Nałogowiec (39,600 p.)
Nie znajduje żadnego buttona na Twojej stronie.

Kod JS znajduje się za HTML czy przed HTML?
komentarz 27 listopada 2017 przez Al3x Użytkownik (870 p.)

Przed w sekcji head, ale umieściłem tez testowo go na dole i nic się nie zmieniło. A button jest i ma się dobrze(chyba).


<!DOCTYPE HTML>
<html lang="pl">
<head>
	<meta charset="utf-8" />
	<title>Coin Flip</title>
	<meta name="description" content=""/>
	<meta names="keywords" content=""/>
	<meta http-equiv="X-UA-Compatibile" content="IE=edge,chrome=1"/>

	
	<link rel="stylesheet" href="style.css" type="text/css" />
    <script src="main.js"></script>
    <script src="jquery-3.2.1.min%20.js"></script>
    
</head>

<body>

    <h1><span style="color: goldenrod;">Coin</span> Filp</h1>
    <a>Losowo generowany rzut monetą</a>
    
    <div class="board"></div>
    <button class="buttonCheck">Flip coin</button>
    
    
</body>

</html>
komentarz 27 listopada 2017 przez Al3x Użytkownik (870 p.)
Jednak działa dzięki wielkie

Podobne pytania

0 głosów
0 odpowiedzi 93 wizyt
pytanie zadane 27 czerwca 2019 w PHP przez niezalogowany
0 głosów
2 odpowiedzi 172 wizyt
pytanie zadane 10 kwietnia 2017 w JavaScript przez Błażej Szczesny Początkujący (330 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 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!

...