
Для удаления обработчика события с DOM-элемента в JavaScript, можно использовать метод removeEventListener(). Этот метод позволяет удалить ранее добавленный обработчик события для определенного события на определенном элементе.
Синтаксис метода removeEventListener() выглядит следующим образом:
element.removeEventListener(event, function, useCapture);где:
element- DOM-элемент, с которого нужно удалить обработчик события.event- тип события, для которого нужно удалить обработчик, например, ‘click’, ‘keydown’, ‘submit’ и т.д.function- функция-обработчик события, которую нужно удалить.useCapture- необязательный параметр, который указывает, был ли обработчик события вызван в фазе перехвата (true) или в фазе всплытия (false, по умолчанию).
Вот пример, который добавляет обработчик события и удаляет его после первого вызова:
const button = document.querySelector("button")
function handleClick() {
console.log("Кнопка нажата")
button.removeEventListener("click", handleClick)
}
button.addEventListener("click", handleClick)Это добавит функцию-обработчик на кнопку, который будет вызываться при клике на кнопку. При первом клике на кнопку, обработчик события будет вызван, и затем удален с помощью метода removeEventListener(). После этого обработчик события не будет больше вызываться при клике на кнопку.
Важно отметить, что для удаления обработчика события с помощью removeEventListener() нужно передать ту же функцию-обработчик, которая была добавлена с помощью addEventListener(). Если функция-обработчик не была сохранена в переменной, то ее нельзя удалить с помощью removeEventListener().