Metoda trigger
Metoda trigger permite declanșarea
tuturor handlerelor de evenimente atașate elementului
pentru tipurile de evenimente specificate. Ea apelează
funcțiile-handler în ordinea în care acestea
ar fi fost apelate de utilizator.
Dacă doriți să apelați un handler de evenimente, dar să nu
executați acțiunea implicită a evenimentului, atunci utilizați metoda
triggerHandler.
Sintaxă
Ca prim parametru putem transmite tipul evenimentului sub formă de șir de caractere, al doilea (parametru opțional) un array sau un obiect care conține parametri suplimentari pentru a fi transmiși handler-ului:
$(selector).trigger(tipul evenimentului, [parametri suplimentari]);
Se poate transmite ca prim parametru un eveniment
sub formă de obiect jQuery.Event:
$(selector).trigger(eveniment, [parametri suplimentari]);
Există o diferență între transmiterea parametrilor
suplimentari metodei trigger și a datelor în metoda
on. În
primul caz, datele trebuie definite în momentul
executării evenimentului, iar în al doilea caz, acestea sunt definite în momentul atașării
funcției-handler.
Exemplu
La apăsarea butonului #first valoarea va fi
mărită doar în primul element span, la
apăsarea butonului #second - în ambele,
imitând în același timp un click al utilizatorului pe primul buton. Funcția
increase va mări cu 1 numărul
transmis ei ca parametru. Cu ajutorul
metodei trigger determinăm să se declanșeze
de asemenea evenimentul de click și pe primul buton, deși
apăsăm pe butonul #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);
}
Vezi și
-
metoda
on,
care permite atașarea unui handler de evenimente la element -
metoda
triggerHandler,
care permite declanșarea tuturor handlerelor de evenimente, atașate elementului -
obiectul
event,
care conține informații despre eveniment -
metoda
submit,
care permite permite atașarea unui handler la evenimentului JavaScript submit sau declanșarea acestui eveniment