Kaedah triggerHandler
Kaedah triggerHandler membolehkan anda menjalankan
semua pengendali peristiwa yang dilampirkan pada elemen. Ia
berfungsi sama seperti kaedah
trigger,
tetapi terdapat perbezaan antara mereka:
Pengendali peristiwa akan dicetuskan, tetapi peristiwa piawai
tidak akan dipanggil. Sebagai contoh
triggerHandler('submit'),
setelah dicetuskan, tidak akan memanggil submit.
Kaedah triggerHandler hanya bertindak
pada elemen pertama dalam set.
Peristiwa yang dicetuskan oleh triggerHandler
tidak menggelembung dalam hierarki elemen DOM.
triggerHandler tidak mengembalikan objek jQuery,
ia mengembalikan nilai yang diperoleh daripada pengendali
terakhir yang dipanggil. Jika tiada pengendali
dijalankan, ia mengembalikan undefined.
Sintaks
Sebagai parameter pertama, kita boleh menghantar jenis peristiwa dalam bentuk rentetan, parameter kedua (pilihan) array atau objek yang mengandungi parameter tambahan untuk dihantar kepada pengendali:
$(pemilih).triggerHandler(jenis peristiwa, [parameter tambahan]);
Anda boleh menghantar peristiwa sebagai parameter pertama
dalam bentuk objek jQuery.Event:
$(pemilih).trigger(peristiwa, [parameter tambahan]);
Contoh
Mari kita buat supaya apabila butang
dengan #test1 ditekan, input kami akan mendapat fokus dan
'Focused' akan dipaparkan dalam konsol, dengan
kata lain - kedua-dua fungsi pengendali dan
peristiwa fokus akan dicetuskan. Apabila butang kedua
dengan #test2 ditekan, hanya fungsi pengendali yang akan dicetuskan,
tetapi input tidak akan mendapat 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')
});