Published on

Como Fazer Event Binding em Elementos Criados Dinamicamente em JavaScript

Authors
  • avatar
    Name
    Yuri Magagnatto
    Twitter

Quando se trata de criar aplicações web dinâmicas, muitas vezes é necessário adicionar elementos HTML à página de forma dinâmica em resposta a ações do usuário ou eventos específicos. No entanto, vincular eventos a esses elementos criados dinamicamente pode ser desafiador. Neste artigo, vamos explorar como realizar o event binding em elementos criados dinamicamente em JavaScript, utilizando técnicas como o uso da função de manipulador de eventos on() do jQuery e a vinculação do evento a um elemento pai que já existe.

jQuery Event Handler Function on()

Uma das maneiras mais comuns de realizar o event binding em elementos criados dinamicamente é usando a função on() do jQuery. Esta função permite vincular eventos a elementos que podem ser criados dinamicamente no futuro. Veja um exemplo:

// Vinculando um evento de clique a elementos da classe 'dinamico' usando a função on() do jQuery
$(document).on('click', '.dinamico', function() {
    alert('Você clicou em um elemento dinâmico!');
});

Neste exemplo, estamos vinculando um evento de clique a todos os elementos com a classe 'dinamico', mesmo que eles sejam criados dinamicamente após a execução do código.

Bind the Event to a Parent Which Already Exists

Outra abordagem para lidar com elementos criados dinamicamente é vincular o evento a um elemento pai que já existe na página. Isso é útil quando você sabe que os elementos dinâmicos estarão contidos dentro de um elemento pai específico. Veja um exemplo:

// Criando um elemento pai que já existe na página
const elementoPai = document.getElementById('elemento-pai');

// Vinculando um evento de clique a elementos filhos com a classe 'dinamico'
elementoPai.addEventListener('click', function(event) {
    if (event.target.classList.contains('dinamico')) {
        alert('Você clicou em um elemento dinâmico!');
    }
});

Neste exemplo, estamos vinculando um evento de clique ao elemento pai com o id 'elemento-pai' e, em seguida, verificando se o elemento clicado é um elemento filho com a classe 'dinamico'. Isso permite que o evento seja tratado apenas quando um elemento dinâmico é clicado dentro do elemento pai.


Realizar o event binding em elementos criados dinamicamente em JavaScript é uma habilidade valiosa para desenvolvedores web. Com técnicas como o uso da função on() do jQuery e a vinculação do evento a um elemento pai existente, você pode criar aplicações web dinâmicas e responsivas, oferecendo uma experiência de usuário aprimorada. Experimente estas técnicas em seus projetos e aproveite ao máximo o potencial do JavaScript para criar interações poderosas em suas páginas da web.