@AlTerminator

Как создать уникальное событие?

Как на чистом JS создать событие, которое выдает сообщение alert с текстом "bodybgcolorchange сработало!", когда цвет элемента body меняется?

<html>
<body onload="bodyload()">
<button onclick="colorchangerclick()">newcolor</button>
<script>
function bodyload()
{


 const constbodybgcolorchange = new CustomEvent("bodybgcolorchange", {
   detail: {
     name: "bodybgcolor",
   },
 });
 
 document.body.addEventListener("bodybgcolorchange", () => alert("bodybgcolorchange сработало!"));
 
 document.body.dispatchEvent(constbodybgcolorchange);


}

function colorchangerclick()
{
 document.body.style.background = prompt("Значение");
}
</script>
</body>
</html>
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ответы на вопрос 2
grantur5707
@grantur5707
Full Stack Web Developer
<html>
<body onload="bodyload()">
<button onclick="colorchangerclick()">newcolor</button>
<script>
function bodyload() {
  document.body.addEventListener("bodybgcolorchange", () => alert("bodybgcolorchange сработало!"));
}

function colorchangerclick() {
  document.body.style.background = prompt("Введите новый цвет фона (например, red, #000, rgb(0, 0, 0))");

  const bodybgcolorchange = new CustomEvent("bodybgcolorchange", {
    detail: {
      name: "bodybgcolor",
    },
  });

  document.body.dispatchEvent(bodybgcolorchange);
}
</script>
</body>
</html>
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Вешаете на body MutationObserver, следящий за изменение атрибута style, смотрите, что именно изменилось. Если изменился цвет фона, то эмитите своё событие.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
12 нояб. 2024, в 19:27
1000 руб./за проект
12 нояб. 2024, в 19:03
10000 руб./за проект
12 нояб. 2024, в 18:57
500000 руб./за проект