Objek event
Objek event dijana apabila
peristiwa dicetuskan dan mengandungi maklumat mengenainya. Apabila
peristiwa muncul, objek event dihantar kepada
fungsi pengendali.
Sifat dan kaedah objek event
Di bawah dalam jadual ditunjukkan sifat dan kaedah
objek event dan keterangannya:
| Nama | Keterangan |
|---|---|
event.currentTarget |
Elemen DOM semasa pada peringkat peristiwa timbul. Biasanya
sifat ini setara dengan this fungsi.
|
event.data |
Parameter pilihan. Objek data, yang dihantar kepada kaedah peristiwa apabila pengendali yang boleh dilaksanakan dilampirkan. |
event.delegateTarget |
Elemen, yang mana pengendali peristiwa jQuery baru sahaja dipanggil
dilampirkan. Sifat ini paling berguna
dalam peristiwa yang didelegasikan, apabila pengendali terikat kepada
nenek moyang elemen yang dikendalikan. Untuk
pengendali tidak terdelegasi, yang terikat terus kepada elemen,
nilai event.delegateTarget sepadan
dengan nilai event.currentTarget.
|
event.isDefaultPrevented |
Kaedah memeriksa sama ada kaedah
event.preventDefault
telah dipanggil untuk objek peristiwa ini.
|
event.isImmediatePropagationStopped |
Kaedah memeriksa sama ada kaedah
event.stopImmediatePropagation
telah dipanggil untuk objek peristiwa ini.
|
event.isPropagationStopped |
Kaedah memeriksa sama ada kaedah
event.stopPropagation
telah dipanggil untuk objek peristiwa ini.
|
event.isPropagationStopped |
Kaedah memeriksa sama ada kaedah
event.stopPropagation
telah dipanggil untuk objek peristiwa ini.
|
event.metaKey |
Kaedah memeriksa sama ada kekunci
META ditekan pada masa pencetusan
peristiwa. Bergantung pada platform, kekunci
mungkin berbeza. Mengembalikan true atau
false.
|
event.namespace |
Ruang nama, yang dinyatakan pada masa pemanggilan peristiwa. Sifat ini akan berguna untuk pengarang plugin, tugas mereka bergantung pada ruang nama yang digunakan. |
event.pageX |
Menunjukkan kedudukan tetikus relatif kepada tepi kiri dokumen. |
event.pageY |
Menunjukkan kedudukan tetikus relatif kepada tepi atas dokumen. |
event.preventDefault |
Jika kaedah ini dipanggil, maka tindakan
lalai untuk peristiwa ini tidak akan
dilaksanakan. Sebagai contoh, klik pada pautan
tidak akan membawa kepada peralihan ke URL baru. Untuk
memeriksa sama ada kaedah ini dipanggil,
boleh menggunakan kaedah
event.isDefaultPrevented.
|
event.relatedTarget |
Mengembalikan elemen DOM lain, yang terlibat
dalam peristiwa, jika ada. Untuk
mouseout menunjukkan pada elemen mana
tetikus diarahkan, untuk mouseover
dari elemen mana kursor tetikus dialihkan.
|
event.result |
Nilai terakhir, yang dikembalikan oleh pengendali
peristiwa yang dicetuskan, tidak sama dengan
undefined. Sifat ini boleh berguna
untuk mendapatkan nilai peristiwa sendiri.
|
event.stopImmediatePropagation |
Membatalkan kerja semua baki pengendali
peristiwa, yang berkaitan dengan elemen dan mencegah
peristiwa timbul ke atas melalui pokok DOM. Untuk
hanya melarang peristiwa timbul kepada
elemen nenek moyang, tetapi membenarkan kerja pengendali peristiwa lain,
boleh menggunakan kaedah
event.stopPropagation. Gunakan kaedah
event.isImmediatePropagationStopped, untuk
memeriksa sama ada
event.stopImmediatePropagation telah dipanggil untuk objek
peristiwa ini.
|
event.stopPropagation |
Mencegah peristiwa timbul ke atas melalui DOM
pokok. Ingat bahawa pengendali lain
akan terus bekerja untuk elemen ini. Ini
kaedah bekerja untuk peristiwa sendiri, dicetuskan
menggunakan kaedah
trigger.
Untuk memeriksa sama ada kaedah ini dipanggil,
gunakan event.isPropagationStopped.
|
event.target |
Elemen DOM, yang memulakan peristiwa. Ini boleh
menjadi elemen yang didaftarkan untuk peristiwa atau
keturunannya. Sangat berguna untuk membandingkan
event.target dan this, untuk menentukan
peristiwa timbul. Sifat berguna semasa pendelegasian
peristiwa, apabila peristiwa timbul.
|
event.timeStamp |
Perbezaan masa dalam milisaat antara
masa penciptaan peristiwa oleh pelayar dan
1 Januari 1970. Sifat boleh
berguna untuk menentukan prestasi
peristiwa dengan mendapatkan perbezaan nilai
event.timeStamp untuk dua masa
dalam kod. Jika anda hanya mahu
mendapatkan masa semasa dalam pengendali
peristiwa, gunakan kaedah
getTime.
|
event.type |
Dalam sifat ini dinyatakan jenis peristiwa. |
event.which |
Sifat ini menunjukkan kekunci papan kekunci
atau tetikus yang ditekan. Untuk tetikus:
1 - butang kiri, 2 - roda,
3 - butang kanan. Gunakan
event.which menggantikan event.button.
|
Sifat lain objek event
Terdapat juga sifat lain, yang disalin
ke dalam objek event:
altKey, button, buttons, cancelable,
char, charCode, clientX, clientY,
ctrlKey, detail, eventPhase, key,
keyCode, offsetX, offsetY, originalTarget,
screenX, screenY, shiftKey,
toElement, view.
Untuk mengakses sifat, yang tidak disenaraikan di atas,
boleh menggunakan objek event.originalEvent.
Contoh
Mari kita keluarkan dalam div - kekunci mana yang ditekan:
<input id="test" value="taip sesuatu">
<div id="text"></div>
$('#test').on('keydown', function(event) {
$('#text').html(event.type + ": " + event.which);
});
Contoh
Mari kita keluarkan dalam div - pada tag mana kita akan klik:
<body>
<div id="text"></div>
<div>
<p>
<strong><span>klik</span></strong>
</p>
</div>
</body>
span, strong, p {
display: block;
padding: 10px;
border: 1px solid black;
}
$('body').click(function(event) {
$('#text').html('diklik: ' + event.target.nodeName);
});
Lihat juga
-
kaedah
on,
yang membenarkan mengikat pengendali peristiwa kepada elemen -
kaedah
trigger,
yang membenarkan menjalankan semua pengendali peristiwa, terikat kepada elemen untuk peristiwa jenis yang ditentukan -
kaedah
triggerHandler,
yang membenarkan menjalankan semua pengendali peristiwa, terikat kepada elemen - peristiwa jQuery