Método trigger
O método trigger permite executar
todos os manipuladores de eventos vinculados ao elemento
para eventos de um tipo específico. Ele chama
as funções de manipulação na mesma ordem em que seriam
chamadas pelo usuário.
Se você deseja chamar o manipulador de eventos, mas não
executar o evento padrão, use o método
triggerHandler.
Sintaxe
Como primeiro parâmetro, podemos passar o tipo de evento como uma string; o segundo (opcional) é um array ou objeto contendo parâmetros adicionais para passar ao manipulador:
$(seletor).trigger(tipo do evento, [parâmetros adicionais]);
É possível passar como primeiro parâmetro um evento
na forma de um objeto jQuery.Event:
$(seletor).trigger(evento, [parâmetros adicionais]);
Há uma diferença entre passar parâmetros adicionais
ao método trigger e passar dados para o método
on. No
primeiro caso, os dados devem ser definidos no momento
da execução do evento, enquanto no segundo, eles são definidos no momento da vinculação
da função de manipulação.
Exemplo
Ao clicar no botão #first, o valor será
incrementado apenas no primeiro span; ao
clicar no botão #second - em ambos,
imitando assim o clique do usuário no primeiro. A função
increase irá incrementar em 1 o número
passado para ela como parâmetro. Usando o
método trigger, forçamos a ativação
do evento de clique também no primeiro span, embora
estejamos clicando no botão #second:
<button id="first">button1</button>
<button id="second">button2</button>
<div><span>0</span></div>
<div><span>0</span></div>
button {
margin: 10px;
}
div {
margin-left: 10px;
font-weight: bold;
}
span {
color: green;
}
$('#first').click(function() {
increase($('span').first());
});
$('#second').click(function() {
$('#first').trigger('click');
increase($('span').last());
});
function increase(str) {
let num = parseInt(str.text(), 10);
num.text(num + 1);
}
Veja também
-
método
on,
que permite vincular um manipulador de eventos a um elemento -
método
triggerHandler,
que permite executar todos os manipuladores de eventos, vinculados a um elemento -
objeto
event,
que contém informações sobre o evento -
método
submit,
que permite vincular um manipulador ao evento JavaScript submit ou acionar esse evento