Metode triggerHandler
Metode triggerHandler memungkinkan untuk menjalankan
semua penangan acara yang terikat pada elemen. Ia
bekerja serupa dengan metode
trigger,
tetapi terdapat perbedaan di antara mereka:
Penangan acara akan terpicu, tetapi acara standar
tidak akan dipanggil. Contohnya
triggerHandler('submit'),
saat terpicu, tidak akan memanggil submit.
Metode triggerHandler hanya berlaku
pada elemen pertama dalam kumpulan.
Acara yang dipicu oleh triggerHandler
tidak melakukan bubbling dalam hierarki elemen DOM.
triggerHandler tidak mengembalikan objek jQuery,
ia mengembalikan nilai yang diperoleh dari penangan
terakhir yang dipanggil. Jika tidak ada penangan yang
dijalankan, maka mengembalikan undefined.
Sintaks
Sebagai parameter pertama kita dapat melewatkan jenis acara dalam bentuk string, parameter kedua opsional berupa array atau objek, yang berisi parameter tambahan untuk diteruskan ke penangan:
$(selektor).triggerHandler(jenis acara, [parameter tambahan]);
Dapat juga melewatkan acara sebagai parameter pertama
dalam bentuk objek jQuery.Event:
$(selektor).trigger(acara, [parameter tambahan]);
Contoh
Mari kita buat agar saat tombol
dengan #test1 ditekan,
input kita mendapatkan fokus dan
di konsol akan tercetak 'Focused', dengan kata
lain - baik fungsi penangan maupun
acara fokus akan terpicu. Saat tombol kedua
dengan #test2 ditekan, hanya fungsi penangan yang akan terpicu,
tetapi input tidak akan mendapatkan fokus:
<button id="test1">button1</button>
<button id="test2">button2</button>
<input type="text">
$('#test1').click(function() {
$('input').trigger('focus');
});
$('#test2').click(function() {
$('input').triggerHandler('focus');
});
$('input').focus(function() {
console.log('Focused')
});