EventListener для сокрытия элемента - PullRequest
1 голос
/ 13 марта 2019

Я пытаюсь найти событие Javascript, которое будет срабатывать, когда для элемента Display установлено значение none.style="display: none;".

Я должен использовать vanilla JS (не могу использовать jQuery) и, к сожалению, не могу реализовать Mutation Observer в качестве возможного решения.

Другими словами, я пытаюсь найтисобытие для использования с Element.addEventListener.

Есть ли какое-либо другое событие, которое запускается, когда элемент скрыт?

Ответы [ 2 ]

0 голосов
/ 13 марта 2019

Возможный способ - использовать setInterval и getComputedStyle для проверки отображаемого стиля

var elem = document.getElementById('div');
var interval = setInterval((() => {
  if (window.getComputedStyle(elem).display === "none") {
    console.log('hidden');
    clearInterval(interval);
  }
}), 500);

setTimeout((() => elem.style.display = 'none'), 2000);
<div id='div'> Foo </div>
0 голосов
/ 13 марта 2019

К сожалению, нет никаких событий, когда элементы скрываются. Логически вы можете использовать событие onchange, но это только для <select>, <option>, <form>.

Что я должен сделать в этом случае, так это найти, когда ваш элемент станет скрытым, и перенести событие на него Или еще лучше найти то событие, на котором оно скрыто (даже если вы используете плагин, вы можете найти его в исходном коде).

Например, если вы знаете, что после нажатия кнопки она скрывается. Можно переносить более одного события в вашей DOM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...