Это происходит потому, что addEventListener(<string>, <string>)
не является функцией, как указано здесь .
Как вы можете прочитать, о втором параметре метода:
Это должен быть объект, реализующий интерфейс EventListener, или функция JavaScript.См. Обратный вызов слушателя событий для деталей о самом обратном вызове.
Таким образом, строка не принята.Возможно, вы намеревались передать ссылку на переменную функции test
, а не строку test
.
Итак, просто отбросьте кавычки:
addEventListener('onStateChange', test);
Примечание: некоторые функции JavaScript также принимают строкивместо функций, таких как eval
и setTimeout
.Но использование не рекомендуется