Як говорить @figha, якщо це ваша власна веб-сторінка , вам слід просто запустити все, що потрібно для запуску після того, як ви зробите елемент видимим.
Однак для того, щоб відповісти на запитання (а також хтось, хто робить Chrome або Firefox Extensions , де це звичайний випадок використання), Підсумок мутацій та спостерігач за мутаціями дозволять змінам DOM викликати події.
Наприклад, запуск події для елементів, data-widgetщо додають атрибут до DOM. Позичив цей чудовий приклад з блогу Девіда Уолша :
var observer = new MutationObserver(function(mutations) {
// For the sake of...observation...let's output the mutation to console to see how this all works
mutations.forEach(function(mutation) {
console.log(mutation.type);
});
});
// Notify me of everything!
var observerConfig = {
attributes: true,
childList: true,
characterData: true
};
// Node, config
// In this case we'll listen to all changes to body and child nodes
var targetNode = document.body;
observer.observe(targetNode, observerConfig);
Відповіді включають added, removed, valueChangedі багато інших . valueChangedвключає всі атрибути, включаючи displayі т.д.