Metoda trigger
Metoda trigger umożliwia uruchomienie
wszystkich procedur obsługi zdarzeń powiązanych z elementem
dla zdarzeń określonego typu. Wywołuje
funkcje obsługi w tej kolejności, w której
zostałyby wywołane przez użytkownika.
Jeśli chcesz wywołać procedurę obsługi zdarzeń, ale nie
wykonywać domyślnego zdarzenia, skorzystaj z metody
triggerHandler.
Składnia
Jako pierwszy parametr możemy przekazać typ zdarzenia w postaci ciągu znaków, drugim (opcjonalnie) tablicę lub obiekt zawierający dodatkowe parametry do przekazania procedurze obsługi:
$(selektor).trigger(typ zdarzenia, [dodatkowe parametry]);
Można pierwszym parametrem przekazać zdarzenie
w postaci obiektu jQuery.Event:
$(selektor).trigger(zdarzenie, [dodatkowe parametry]);
Istnieje różnica między przekazywaniem dodatkowych
parametrów do metody trigger a danych do metody
on.
W pierwszym przypadku dane muszą być zdefiniowane w czasie
wykonywania zdarzenia, a w drugim już w momencie powiązania
funkcji obsługi.
Przykład
Po naciśnięciu przycisku #first wartość będzie
zwiększana tylko w pierwszym spanie, po
naciśnięciu przycisku #second - w obu, przy
czym imitując na pierwszym kliknięcie użytkownika. Funkcja
increase będzie zwiększać o 1 liczbę,
przekazywaną jej jako parametr. Za pomocą
metody trigger powodujemy również uruchomienie
zdarzenia kliknięcia w pierwszym spanie, chociaż
naciskamy przycisk #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);
}
Zobacz też
-
metoda
on,
która umożliwia powiązanie procedury obsługi zdarzeń z elementem -
metoda
triggerHandler,
która umożliwia uruchomienie wszystkich procedur obsługi zdarzeń, powiązanych z elementem -
obiekt
event,
który zawiera informacje o zdarzeniu -
metoda
submit,
która umożliwia powiązanie procedury obsługi ze zdarzeniem JavaScript submit lub uruchomienie tego zdarzenia