A 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
, в котором предполагается удалить слушателя.Проблема в том, что прослушиватель не удален.
Сохранение описанной выше структуры программы, как можно решить проблему прослушивателя событий?