Metode one
Metode one memungkinkan untuk menambahkan penangan
event ke elemen. Setelah event
terjadi satu kali - penangan akan
dihapus secara otomatis.
Sintaks
Beginilah cara kita memasang penangan event ke elemen,
sebagai parameter pertama dalam bentuk string
diteruskan satu atau beberapa event yang dipisahkan
dengan spasi, kedua - meneruskan data dalam bentuk objek JavaScript,
yang diteruskan ke penangan di properti
event.data saat event dipicu. Parameter kedua
bersifat opsional. Ketiga kita meneruskan fungsi penangan,
yang menerima objek event atau meneruskan false:
$(selector).one(events, [data], handlerFunction(event object));
Parameter kedua dapat digunakan untuk meneruskan
selector filter tambahan untuk elemen turunan di dalam elemen,
ketiga - data tambahan, yang diteruskan
ke penangan di properti event.data saat
event dipicu. Parameter kedua dan ketiga
bersifat opsional. Keempat kita meneruskan
fungsi penangan, yang menerima objek event
dan parameter tambahan opsional. Jika alih-alih
fungsi penangan diteruskan false, maka fungsi hanya akan
mengembalikan false:
$(selector).one(events, [selector], [data], handlerFunction(event object));
Kita dapat menggunakan metode one dengan cara lain,
maka parameter pertama diteruskan
objek JavaScript, di mana kunci - tipe event, dan
nilai - fungsi penangan, yang kita tambahkan ke
elemen:
$(selector).one({'event type': handler}, [selector], [data]);
Jika kita tidak meneruskan selector tambahan, maka event dipicu pada elemen yang kita pasang penangannya, sebaliknya - pada elemen turunan, yang sesuai dengan selector tersebut (delegated events).
Contoh
Mari saat klik pada paragraf tampilkan data, yang
kita teruskan ke metode one. Pada klik berikutnya
tidak akan terjadi apa-apa. Mari gunakan
fungsi penangan testFunc,
yang kita buat:
<p>click</p>
function testFunc(event) {
alert(event.data.text);
}
$('p').one('click', {text: 'aaa' }, testFunc);