Nós vimos nas lições anteriores como se seleciona um objeto, altera seu posicionamento e seus atributos, hoje iremos ver como se faz para adicionar eventos aos elementos. Cada browser trata o evento de uma forma e nisso que o jQuery nos facilita, ele proporciona uma api cross-browser para tratamento de eventos.

Resposta:

Se você quisesse colocar para exibir um alert quando o usuário clicasse em uma imagem, como seria? Na old-fanshioned way seria algo mais ou menos assim

HTML:

<img id='img1' src='imagem.jpg' onclick='function(){ alert("ola") };' />

Usando o comando bind e unbind

A assinatura do método bind é:

bind(event, [data], fn)

Para adicionar um alert na imagem faremos então:

Javascript:

$('img#img1').bind('click'', function(e) {                                                                              alert('ola');
                        }) ;


O bind também permite adicionar múltiplos eventos, através do encadeamento tradicional do jQuery.

Javascript:

$('img#img1').bind('click', function(e) {
                                alert('ola');
                                })
             .bind('click', function(e){
                                alert('O mouse está na posicao: ' + e.pageX + ', ' + e.pageY);              });



Podemos remover um evento através do comando unbind(event,fn), você pode estar pensando "Se estou fazendo o unbind porque também passo uma função ?" - Você pode querer executar alguma rotina ao fazer o processo de unbind.

Javascript:

$('img#img1').unbind('click', function(e){
                                alert('Essa imagem não irá aceitar mais cliques');
                              }
                        );


Podemos disparar um evento manualmente através do comando trigger( type, [data] )

Javascript:

$('img#img1').trigger('click');

Para os eventos nativos o jQuery tem um "atalho", por exemplo para disparar o evento de click como acabamos de mostrar acima, poderiamos fazer apenas

Javascript:

$('img#img1').click();

Assim como poderíamos adicionar um evento omitindo o bind

Javascript:

$('img#img1').click( function(e){ alert('ola'); } );

Os eventos nativos são: blur, focus, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error.

Endereço de trackback para este post

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

Sem feedback para esse post ainda

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.))