» Poradna » Programy

Oprava chybné hlášky v JS

 |   |  Microsoft Windows 10 Chrome 79.0.3945.130

Ahoj, můžete mi někdo objasnit prosím tuto chybu? Děkuji-HTML-<ul> <li id="test">TEST</li></ul>-JAVASCRIPT-ClassTest{ test(){ console.log('ClassTest'); }}let objtest = new ClassTest();let a = document.getElementById("test") . addEventListener ( 'click' , objtest . test ) ;-CHYBA-Uncaught TypeError: Failed to execute 'addEventListener' on 'EventTarget': The callback provided as parameter 2 is not an object.

Mohlo by vás také zajímat

Odpovědi na otázku

 |   |  Microsoft Windows 10 Chrome 80.0.3987.100

Máš chybu druhém parametru funkce "addEventListener". Má tam být callback - tedy funkce která je vyvolaná když je zaznamenám ten event.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 80.0.3987.100

Všiml jsem si, že to tak vlastně máš napadá mě napsat "objtest.test()" s těmi závorkami

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 79.0.3945.130

Když tam přidám závorky tak po kliknutí dostanu zase jinou chybu:Uncaught TypeError: objtest . test is not a function

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 80.0.3987.106

Zacal bych tim, ze si o tom neco prectu. Na netu toho mate 3 zadele.class ClassTest{ test(){ console.log('ClassTest'); }}

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 79.0.3945.130

A co jako, co se ti na tom jako nezdá?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Firefox 72.0

Myslím, že tím chtěl říct, že Ti schází klíčové slovo class před definicí třídy (třída vlastně neexistuje). Zbytek je funkční, viz https://jsfiddle.net/fq9wc6tn/

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Test