English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Métodos de Evento do jQuery

Os eventos são operações que o aplicativo web pode detectar.

A jQuery fornece uma maneira simples de adicionar manipuladores de eventos para a seleção.

A função fornecida será executada quando o evento ocorrer.

A seguir estão exemplos de eventos:

  • Carregamento da página da web

  • Clique em um elemento

  • Mover o mouse sobre o elemento

  • Enviar HTML de tabela

  • Teclas na tecla

Sintaxe do método de evento jQuery

Na jQuery, a maioria dos eventos DOM tem métodos jQuery equivalentes.

Para atribuir o evento de clique a todos os parágrafos na página, execute a seguinte operação:

$("p").click();

O próximo passo é definir o que deve acontecer quando o evento ocorrer. Você deve passar uma função para o evento:

$("p").click(function(){
  // Ação a ser executada...
  });

Este exemplo oculta um parágrafo na página ao clicar na página:

$("p").click(function(){
  $(this).hide();
});
Teste para ver‹/›

Este exemplo adiciona uma função "changeSize" ao evento de clique:

$(document).ready(function() {
  $("p").click(changeSize);
});
function changeSize() {
  $(this).animate({fontSize: "+=5px"});
}
Teste para ver‹/›

Métodos de evento jQuery comuns

$(document).ready()

jQuery $(document).ready()O método especifica a função a ser executada quando o DOM estiver completamente carregado.

A seguinte exemplo exibe uma mensagem ao carregar o DOM:

$(document).ready(function() {
  $("p").text("Agora o DOM foi carregado, é possível operá-lo.");
});
Teste para ver‹/›

click()

jQuery click()O método adiciona a função manipuladora de eventos ao elemento selecionado.

Quando o usuário clicar no elemento, a função será executada:

$("p").click(function(){
  $("this").css({"background-color":"#007FFF", "color":"white"});
});
Teste para ver‹/›

mouseenter()

jQuery mouseenter()O método adiciona a função manipuladora de eventos ao elemento selecionado.

Quando o ponteiro do mouse entrar no elemento, a função será executada:

$("p").mouseenter(function(){
  $("this").css("background-color", "yellow");
});
Teste para ver‹/›

mouseleave()

jQuery mouseleave()O método adiciona a função manipuladora de eventos ao elemento selecionado.

Quando o ponteiro do mouse sair do elemento, a função será executada:

$("p").mouseleave(function(){
  $("this").css("background-color", "lightblue");
});
Teste para ver‹/›

mousedown()

jQuery mousedown()O método adiciona a função manipuladora de eventos ao elemento selecionado.

Quando o usuário pressionar o botão do mouse no elemento, a função será executada:

$("p").mousedown(function(){
  $("this").after("<p style='color:red;'>pressiona o botão do mouse</p>");
});
Teste para ver‹/›

mouseup()

jQuery mouseup()O método adiciona a função manipuladora de eventos ao elemento selecionado.

Quando o botão do mouse for solto sobre o elemento, a função será executada:

$("p").mouseup(function(){
  $("this").after("<p style='color:green;'>solta a tecla</p>");
});
Teste para ver‹/›

keydown()

jQuery keydown()O método adiciona a função manipuladora de eventos ao elemento selecionado.

Quando o usuário pressionar uma tecla no teclado, a função será executada:

$("input").keydown(function(event){
  $("this").css("background-color", "yellow");
  $("span").text(event.type);
});
Teste para ver‹/›

keyup()

jQuery keyup()O método adiciona a função manipuladora de eventos ao elemento selecionado.

Quando o usuário soltar uma tecla na teclado, a função será executada:

$("input").keyup(function(event){
  $("this").css("background-color", "lightblue");
  $("span").text(event.type);
});
Teste para ver‹/›

hover()

jQuery hover()os métodos têm duas funções e sãomouseenter()emouseleave()combinações de métodos.

O exemplo a seguir altera a cor de fundo ao passar o ponteiro do mouse por cima de todos<p>a cor de fundo do elemento:

$("p").hover(function(){
  $("this").css("background-color", "yellow");
  }, function(){
  $("this").css("background-color", "lightblue");
});
Teste para ver‹/›

método on()

jQuery oferecemétodoum método para responder a qualquer evento no elemento selecionado.

usandométodométodos, podemos adicionar um ou mais manipuladores de eventos ao elemento selecionado.

A exemplo a seguir adiciona o evento click a todos<p>Elemento:

$("p").on("click", function(){
  $("this").css("background-cor", "coral");
});
Teste para ver‹/›

O exemplo a seguir adiciona o evento mouseenter a todos<p>Elemento:

$("p").on("mouseenter", function(){
  $("this").css("background-cor", "coral");
});
Teste para ver‹/›

O exemplo a seguir adiciona múltiplos manipuladores de eventos a<div>Elemento:

$("div").on("mouseenter mouseleave click", function(){
  $("this").text(Math.random());
});
Teste para ver‹/›

método off()

jQuery off()  método removemétodométodo para adicionar um ou mais manipuladores de eventos.

O exemplo a seguir utiliza<div>Remover o evento mousemove do elemento:

$("button").click(function(){
  $("div").off("mousemove");
});
Teste para ver‹/›

Objeto de evento

O sistema de eventos do jQuery é baseado no W3Padronização do objeto de evento pelo padrão C.

Certifique-se de passar o objeto de evento para o manipulador de eventos.

Cada função de manipulador de evento recebe um objeto de evento, que contém muitos atributos e métodos.

$("div").on("click", function(event){
  alert("O tipo do evento é " + event.type);
  alert("Target: " + event.target.innerHTML);
});
Teste para ver‹/›

A tabela a seguir mostra todos os métodos e atributos dos objetos de evento:

Método/AtributoDescrição
event.currentTargetO elemento DOM atual na fase de propagação do evento
event.dataContém dados opcionais passados para o método do evento no momento da execução do manipulador
event.delegateTargetRetorna o elemento ao qual foi adicionado o manipulador de eventos jQuery atual
event.isDefaultPrevented()Retorna seevent.preventDefault()Chama para o objeto do evento
event.isImmediatePropagationStopped()Retorna seevent.stopImmediatePropagation()Chama para o objeto do evento
event.isPropagationStopped()Retorna seevent.stopPropagation()Chama para o objeto do evento
event.metakeyIndica se a tecla META foi pressionada no momento do disparo do evento
event.namespaceRetorna o nome do espaço de nomes especificado no momento do disparo do evento
event.pageXRetorna a posição do mouse em relação ao limite esquerdo do documento
event.pageYRetorna a posição do mouse em relação ao limite superior da margem do documento
event.preventDefault()Impedir que o navegador execute a operação padrão do elemento selecionado
event.relatedTargetRetorna o elemento que está a ser inserido ou removido ao mover o mouse
event.resultContém o último valor retornado pelo manipulador de eventos acionado pelo evento especificado/Valor Anterior
event.stopImmediatePropagation()Impedir que outros programadores de eventos sejam chamados
event.stopPropagation()Impedir que o evento bubble no DOM, impedir que qualquer programador pai receba notificação do evento
event.targetRetorna qual elemento DOM acionou o evento
event.timeStampRetorna o tempo de criação do evento (em milissegundos相对于纪元)
event.typeRetorna o tipo de evento acionado
event.whichRetorna a tecla de teclado ou botão do mouse pressionado

Manual de Referência de Eventos do jQuery

Para referência completa de eventos, acesse nossoManual de Referência dos Eventos do jQuery.