Kaedah trigger
Kaedah trigger membolehkan anda melancarkan
semua pengendali peristiwa yang terikat pada elemen
untuk jenis peristiwa yang ditentukan. Ia memanggil
fungsi pengendali dalam urutan yang sama seperti yang
akan dilakukan oleh pengguna.
Jika anda ingin memanggil pengendali peristiwa tetapi tidak
melaksanakan peristiwa standard, gunakan kaedah
triggerHandler.
Sintaks
Sebagai parameter pertama, kita boleh menghantar jenis peristiwa dalam bentuk rentetan, parameter kedua (opsional) array atau objek yang mengandungi parameter tambahan untuk dihantar kepada pengendali:
$(pemilih).trigger(jenis peristiwa, [parameter tambahan]);
Anda juga boleh menghantar peristiwa sebagai parameter pertama
dalam bentuk objek jQuery.Event:
$(pemilih).trigger(peristiwa, [parameter tambahan]);
Terdapat perbezaan antara menghantar parameter tambahan
kepada kaedah trigger dan data kepada kaedah
on. Dalam
kes pertama, data mesti ditentukan semasa
peristiwa dilaksanakan, manakala dalam kes kedua data sudah ditetapkan pada masa
fungsi pengendali dipautkan.
Contoh
Apabila butang #first ditekan, nilai akan
bertambah hanya dalam span pertama, apabila
butang #second ditekan - dalam kedua-duanya, sambil
meniru klik pengguna pada yang pertama. Fungsi
increase akan menambah 1 kepada nombor
yang dihantar kepadanya sebagai parameter. Menggunakan
kaedah trigger, kita menyebabkan
peristiwa klik juga berlaku dalam span pertama, walaupun
kita menekan butang #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);
}
Lihat juga
-
kaedah
on,
yang membolehkan anda mengikat pengendali peristiwa kepada elemen -
kaedah
triggerHandler,
yang membolehkan anda melancarkan semua pengendali peristiwa, yang terikat pada elemen -
objek
event,
yang mengandungi maklumat tentang peristiwa -
kaedah
submit,
yang membolehkan anda mengikat pengendali kepada peristiwa JavaScript submit atau melancarkan peristiwa ini