Um dos problemas que enfrentamos quando usamos Ajax e jQuery é o momento que devemos realizar o binding do eventos. Uma das maneiras é colocar o código para ser executado a cada postback.

Resposta:

Caso esteja trabalhando com .NET, poderíamos sobrescrever o método end_request, e nele realizar o binding, pois ele é chamado até após os postbacks, porém o jQuery introduziu uma nova maneira de realizar binding de eventos, o método live.

$().live(evento,function);

O live garante que o binding será reliazado para todos os objetos que estão criados no momento e ainda serão criados no futuro, veja o funcionamento na nossa página de teste.

Página de teste: http://demo.soucafecomleite.com.br/jquery-live/live.html

A tabela 1, foi adicionado os eventos de highlight da maneira tradicional, repare que ao adicionar uma nova linha, essa linha não tem o evento de highlight, logo ela não irá mudar de cor ao posicionar o mouse.

A tabela 2, utilizou do método live, mesmo adicionando uma linha após o binding do eventos, o jQuery garante pra gente que ela vai ter o evento.

No momento, nem todos os tipos de eventos podem ser feito o binding com método live, segue a lista:

Permitidos: click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup
Ainda não suportado: blur, focus, mouseenter, mouseleave, change, submit

Para mais detalhes:
http://docs.jquery.com/Events/live

Tags: jquery, js

Endereço de trackback para este post

Trackback URL (clique direito e copie atalho/localização do link)

Feedbacks esperando moderação

Esse post tem 31 feedbacks esperando moderação...

Deixe seu comentário


Seu endereço de e-mail não será revelado nesse site.

Sua URL será exibida.
(Quebras de linha se tornam <br />)
(Nome, e-mail & website)
(Permitir que usuários o contatem através de um formulário eletrônico (seu e-mail não será exibido.))