Peristiwa Sekali Sahaja dalam jQuery
Apabila kita mempelajari cara membuka ikatan peristiwa dengan
menggunakan kaedah
off,
kita menggunakan konstruksi berikut:
$('li').on('click', function() {
$(this).append('!');
$(this).off('click', func);
});
Pertama, kami melampirkan fungsi pengendali dengan
menggunakan on,
kemudian membuka ikatannya dengan menggunakan off.
jQuery mempunyai kaedah yang mudah
one,
yang membolehkan anda mengikat peristiwa sekali sahaja -
ia akan dilaksanakan hanya sekali, dan
kemudian secara automatik terlepas. Kaedah ini
menerima jenis peristiwa sebagai parameter pertama,
dan fungsi terikat sebagai parameter kedua.
Contoh seterusnya akan kita lihat berdasarkan kod HTML di bawah:
<ul>
<li>teks</li>
<li>teks</li>
<li>teks</li>
</ul>
Kod CSS kelihatan seperti ini:
li {
width: 100px;
cursor: pointer;
}
Sekarang kita ikat peristiwa sekali sahaja pada setiap li:
$('li').one('click', function() {
$(this).append('!');
});
Cuba klik pada item
senarai. Seperti yang anda lihat, kami mendapat kesan yang sama, berkat
kaedah one.
Ikat peristiwa kepada semua pautan -
apabila penunjuk tetikus dilalukan ke atas pautan,
href-nya ditambahkan pada akhir teksnya
dalam kurungan bulat.
Selepas pertama kali penunjuk tetikus dilalukan ke atas pautan,
peristiwa yang menambah href pada akhir teks harus
dilepaskan daripadanya.
Untuk semua input, pastikan mereka
memaparkan value mereka sendiri apabila
mana-mana daripadanya ditekan, tetapi hanya pada
tekanan pertama. Tekanan berulang pada
input tidak sepatutnya menyebabkan sebarang tindak balas.
Diberi perenggan dengan nombor. Apabila diklik pada perenggan, kuasa dua nombor yang dikandungnya harus muncul di dalamnya, tetapi hanya pada klik pertama. Apabila diklik dua kali pada perenggan, nombor dalam perenggan harus digandakan, tetapi juga hanya untuk kali pertama.
Diberi perenggan. Pastikan pada klik pertama
pada perenggan, '!' ditambahkan pada akhirnya,
tetapi hanya pada klik pertama.