Как говорит @figha, если это ваша собственная веб-страница , вы должны просто запустить все, что вам нужно, после того, как вы сделаете элемент видимым.
Однако в целях ответа на вопрос (и для всех, кто создает расширения Chrome или Firefox , где это является обычным вариантом использования), Mutation Summary и Mutation Observer позволят изменениям 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и т. д.