Почему прослушиватель событий mousedown проходит через функцию?

0

Я нарисовал холст, а затем с кодом

canvas.addEventListener("mousedown", clicked(event), false);

Я добавил прослушиватель событий для запуска щелчка, когда я нажимаю на мышь. Но когда я прошел код по строкам на хроме, то, когда он добавляет слушателя событий, он автоматически запускает функцию, которая была нажата в любом случае, но я хочу, чтобы она запускала функцию, когда я нажимаю.

Я делаю что-то неправильно?

  • 1
    попробуй clicked без (event)
  • 0
    @basilikum прав. Вы вызываете функцию. Просто передайте это как clicked .
Показать ещё 1 комментарий
Теги:
addeventlistener
function
click

2 ответа

0
Лучший ответ

Вам нужно просто передать ссылку на функцию и на самом деле не вызвать ее так:

canvas.addEventListener("mousedown", clicked, false);

Затем функция должна быть определена следующим образом:

function clicked(event) {
    // code here
}

Когда вы включаете parens после имени функции, он немедленно выполняется, и возвращаемое значение - это то, что передается addEventListener() которое, вероятно, совсем не то, что вы хотели. Оставьте парас, чтобы просто передать ссылку на функцию.

0

canvas.addEventListener("mousedown", clicked, false);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню