Metoda trigger
Metoda trigger umožňuje spustit
všechny obslužné rutiny událostí navázané na prvek
pro události zadaného typu. Vyvolává
funkce-obslužné rutiny ve stejném pořadí, v jakém by byly
vyvolány uživatelem.
Pokud chcete vyvolat obslužnou rutinu událostí, ale ne
provést standardní událost, použijte metodu
triggerHandler.
Syntaxe
Jako první parametr můžeme předat typ události ve formě řetězce, druhým (nepovinným) pole nebo objekt obsahující dodatečné parametry pro předání obslužné rutině:
$(selektor).trigger(typ události, [dodatečné parametry]);
Jako první parametr lze předat událost
ve formě objektu jQuery.Event:
$(selektor).trigger(událost, [dodatečné parametry]);
Existuje rozdíl mezi předáním dodatečných
parametrů metodě trigger a dat metodě
on. V
prvním případě musí být data definována během
vykonávání události, zatímco ve druhém již v momentě navázání
funkce-obslužné rutiny.
Příklad
Při stisknutí tlačítka #first se hodnota bude
zvyšovat pouze v prvním spanu, při
stisknutí tlačítka #second - v obou, přičemž
imituje na prvním kliknutí uživatele. Funkce
increase bude zvyšovat o 1 číslo,
předávané jí jako parametr. Pomocí
metody trigger nutíme, aby se spustila
také událost po kliknutí i v prvním spanu, ačkoli
mačkáme tlačítko #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);
}
Viz také
-
metoda
on,
která umožňuje navázat obslužnou rutinu událostí na prvek -
metoda
triggerHandler,
která umožňuje spustit všechny obslužné rutiny událostí, navázané na prvek -
objekt
event,
který obsahuje informace o události -
metoda
submit,
která umožňuje umožňuje navázat obslužnou rutinu na JavaScript událost submit nebo spustit tuto událost