Como @figha diz, se esta é sua própria página da web , você deve apenas executar o que for necessário para executar após tornar o elemento visível.
No entanto, para o propósito de responder à pergunta (e qualquer um que fizer extensões para Chrome ou Firefox , onde este é um caso de uso comum), Mutation Summary e Mutation Observer permitirão que as alterações do DOM acionem eventos.
Por exemplo, disparar um evento para um elemento com data-widgetatributo sendo adicionado ao DOM. Pegando emprestado este excelente exemplo do blog de David Walsh :
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);
As respostas incluem added, removed, valueChangede mais . valueChangedinclui todos os atributos, incluindo displayetc.