Вызывать функцию 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 в других браузерах будет работать аналогично и имеет те же недостатки, поэтому это может оказаться для вас неработоспособным.