@AlTerminator

Как отключить обработку события без сброса имени события?

Как прописать так, чтобы можно было отключить обработчик change? Это нужно для того, чтобы можно было присвоить onchange функцию SelectChange() без необходимости знать имя функции SelectChange().

<html>
<body>
<button onclick="ButtonStop()">Stop Event</button>
<select onchange="SelectChange()">
 <option>1</option>
 <option>2</option>
</select>
<script>
 function ButtonStop()
 {
  document.querySelector("select").onchange = null;/*Что здесь прописать вместо 
строки перед комментарием, чтобы обработчик отключался без сброса имени функции?*/
 }

 function SelectChange()
 {
  alert("Changed!");
 }
</script>
<style>
 body
 {
  text-align: center;
 }
</style>
</body>
</html>
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ответы на вопрос 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
let fEnabled = true;

function ButtonStop()
{
  fEnabled = false;
}

function SelectChange()
{
  if (fEnabled) {
    alert("Changed!");
  }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 12:39
100000 руб./за проект
23 нояб. 2024, в 12:16
60000 руб./за проект
23 нояб. 2024, в 08:36
2000 руб./за проект