Слушатель mousemove
был помещен в тег <canvas>
. Слушатель работает как положено. Проблема заключается в попытке удалить слушателя.
Структура программы такова, что для вызова основной функции используется флажок, имеющий следующую структуру:
main_function(el) {
if (el.checked) {
// ....
sub_function();
canvasEl.addEventListener('mousemove', mousemoveList);
sub_function() {
// ....
mousemoveList() {
// ....
}
}
} else {
canvasEl.removeEventListener('mousemove',mousemoveList);
}
}
При щелчке по флажку вызывается main_function()
, выполняется путь el.checked
, вызывается sub_function()
, имеющий функцию mousemoveList()
, и, наконец, успешно добавляется прослушиватель.
Когда флажок снят, следует путь else
, где предполагается удалить прослушиватель. Проблема в том, что слушатель не удаляется.
Сохраняя приведенную выше структуру программы, как можно решить проблему с прослушивателем событий?
mousemoveList
? Я думаю, что этот код приведет к ошибке, как и сейчас, поскольку единственныйmousemoveList
здесь выходит за рамки. - person Talha   schedule 13.03.2019