Kaedah off
Kaedah off membolehkan pengendali
peristiwa dipisahkan daripada elemen. Untuk mengikat pengendali
boleh menggunakan kaedah
off.
Sintaks
Beginilah kita membuang pengendali peristiwa daripada elemen,
sebagai parameter pertama dalam bentuk rentetan
dihantar satu atau beberapa peristiwa dipisahkan
oleh ruang, kedua - kami hantar pemilih
tambahan yang menapis keturunan di dalam elemen
(ia harus sepadan dengan apa yang kami hantar dalam
kaedah on, ketika melampirkan
pengendali). Untuk membuang semua peristiwa yang didelegasikan,
hantar nilai '**'. Parameter kedua
tidak wajib. Ketiga kami hantar fungsi-pengendali
(yang kami lampirkan), di mana objek dipindahkan
peristiwa atau hantar false:
$(pemilih).off(peristiwa, [pemilih], fungsi-pengendali(objek peristiwa));
Boleh menggunakan kaedah off dengan cara lain,
maka parameter pertama dihantar
objek JavaScript, di mana kunci - jenis peristiwa, dan
nilai - fungsi-pengendali, yang kami tambahkan kepada
elemen:
$(pemilih).off({'jenis peristiwa': handler}, [pemilih]);
Kami boleh hanya hantar satu parameter dalam bentuk
objek jQuery.Event:
$(pemilih).off(peristiwa);
Jika tidak menghantar parameter kepada kaedah, maka kami akan melepaskan semua pengendali yang dilampirkan daripada elemen:
$(pemilih).off();
Contoh
Mari kita tambahkan fungsi-pengendali
testFunc kepada perenggan.
Tetapi serta-merta buang pengendali daripada
perenggan kedua, jadi klik pada perenggan kedua tidak akan
membawa kepada apa-apa (jika kita mengulas baris terakhir
kod, kita akan melihat bagaimana peristiwa dicetuskan dan
pada klik pada perenggan kedua):
<p id="test1">click1</p>
<p id="test2">click2</p>
function testFunc(event) {
alert(event.data.text);
}
$('#test1').on('click', {text: 'aaa'}, testFunc); // menambah pengendali
$('#test2').on('click', {text: 'bbb'}, testFunc); // menambah pengendali
$('#test2').off('click', testFunc); // membuang pengendali