Método trigger
El método trigger permite ejecutar
todos los manejadores de eventos vinculados a un elemento
para eventos de un tipo determinado. Llama a las
funciones manejadoras en el mismo orden en que
serían ejecutadas por el usuario.
Si deseas invocar el manejador de eventos, pero no
ejecutar el evento estándar, utiliza el método
triggerHandler.
Sintaxis
Como primer parámetro podemos pasar el tipo de evento como una cadena, y como segundo (opcional) un array o un objeto que contenga parámetros adicionales para pasar al manejador:
$(selector).trigger(tipo de evento, [parámetros adicionales]);
Se puede pasar como primer parámetro un evento
en forma de objeto jQuery.Event:
$(selector).trigger(evento, [parámetros adicionales]);
Existe una diferencia entre pasar parámetros
adicionales al método trigger y pasar datos al método
on. En
el primer caso, los datos deben definirse en el momento
de la ejecución del evento, mientras que en el segundo, deben definirse en el momento de vincular
la función manejadora.
Ejemplo
Al hacer clic en el botón #first el valor
aumentará solo en el primer span, al
hacer clic en el botón #second - en ambos,
imitando así el clic del usuario en el primero. La función
increase aumentará en 1 el número
que se le pase como parámetro. Mediante el
método trigger hacemos que se dispare
también el evento de clic en el primer span, aunque
pulsemos el botón #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);
}
Véase también
-
método
on,
que permite vincular un manejador de eventos a un elemento -
método
triggerHandler,
que permite ejecutar todos los manejadores de eventos vinculados a un elemento -
objeto
event,
que contiene información sobre el evento -
método
submit,
que permite vincular un manejador al evento JavaScript submit o disparar ese evento