Вызывать функцию Javascript, когда div превращается из видимости: скрыто

Я хочу вызывать функцию javascript, когда div превращается из "visibilty: hidden" в "visibility: none;"

Также обратите внимание, что у меня нет контроля над сценарием, который превращает это свойство стиля в div. Я просто хочу подключиться к этому. Какие-нибудь возможности? Или как onFocus() и т. Д.?

ОБНОВЛЕНИЕ: я не хочу использовать JQuery или другие фреймворки. Является ли это возможным?

2 ответа

В mootools вы можете создавать собственные события. Тем не менее, я бы сделал что-то вроде этого:

document.getElementById('foo').triggerMyEvent = function() {
  if (this.style.visibility == 'hidden') {
    // do something
  } else {
    // do something else
  }
}

И добавьте вызов метода 'triggerMyEvent' объекта в любой код, который переключает видимость объекта.

Там есть propertychange событие в IE, которое реагирует на изменения свойств элемента, включая свойства его элемента style объект. Однако это работает только со свойствами, установленными непосредственно для элемента style объект и не работает для изменений CSS (например, изменение класса родительского элемента элемента), которые косвенно влияют на стиль элемента. Использование DOMAttrModified в других браузерах будет работать аналогично и имеет те же недостатки, поэтому это может оказаться для вас неработоспособным.

Другие вопросы по тегам