Javascript Как прекратить выполенение функции?
Есть код:
function buttonCreate(event){
var clickX = (event.layerX === undefined ? event.offsetX : event.layerX) + 1;
var clickY = (event.layerY === undefined ? event.offsetY : event.layerY) + 1;
var g = document.getElementById('main')
g.onclick= ()=> buttonSet(clickX,clickY)
console.log("Функция отработана")
buttonCreate() вызывается после единичного нажатия на соответствующую кнопку, после все остальные клики (по карте(id main)), вызывают buttonSet(clickX,clickY),почему ? Как сделать так, что бы buttonSet тоже вызывался единично?
Ответы (1 шт):
Автор решения: c_k_rim
→ Ссылка
Ответ на Ваш вопрос можно найти по ссылке: https://developer.mozilla.org/ru/docs/Web/API/EventTarget/removeEventListener
Вот небольшой пример:
//Наш DOM-элемент
const mainClickElement = document.getElementById('main');
//Функция, которая должна выполниться при событии click
const someListener = event => {
//Здесь какой-то код
//Удаляем слушателя события click у mainClickElement.
mainClickElement.removeEventListener('click', someListener, false);
};
//Начинаем слушать событие click для элемента mainClickElement. И если оно произойдет
//то выполнить функцию somListener
mainClickElement.addEventListener('click', someListener, false);