@FogyX

Почему не отображаются методы объектов событий JS в Visual Studio Code?

Имеется следующий тривиальный код на JavaScript:
const buttons = document.querySelectorAll('.ui_button');

buttons.forEach(element => { element.addEventListener('click', onButtonDown) });

function onButtonDown(event) {
    alert(event);
}

При нажатии на кнопку выводится всплывающее окошко с событием [object PointerEvent], то есть само событие обрабатывается прекрасно.
Однако, Visual Studio Code во время написания внутри функции onButtonDown строчки "event.prev" не видит и не предлагает никаких методов, связанных с событиями, включая event.preventDefault. В отношении остального кода на JS, однако, IntellySense работает нормально. Почему так происходит?
  • Вопрос задан
  • 329 просмотров
Решения вопроса 1
Seasle
@Seasle Куратор тега JavaScript
/**
 * @param {MouseEvent} event
 */
function onButtonDown(event) {
    alert(event);
}

Так случается потому, что неизвестно для чего Вы будете использовать функцию и вне addEventListener её контекст выполнения потерян, вот типизация и отсутствует.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы