Adakah yang bisa tolong beri tahu saya perbedaan persis antara currentTarget
dan target
properti dalam peristiwa Javascript dengan contoh dan properti mana yang digunakan dalam skenario mana?
javascript
Valli69
sumber
sumber
Jawaban:
Pada dasarnya, peristiwa menggelembung secara default sehingga perbedaan antara keduanya adalah:
target
adalah elemen yang memicu acara (misalnya, pengguna mengklik)currentTarget
adalah elemen yang dilampirkan oleh pendengar acara.Lihat penjelasan sederhana di posting blog ini .
sumber
XMLHttpRequest
target
= elemen yang memicu acara.currentTarget
= elemen yang memiliki pendengar acara.sumber
Contoh runnable minimal
Jika Anda mengklik:
kemudian
1
dengarkan itu, dan tambahkan hasilnya:karena dalam hal itu:
2
adalah elemen yang memulai acara1
adalah elemen yang mendengarkan acara tersebutJika Anda mengklik:
sebagai gantinya, hasilnya adalah:
Diuji pada Chromium 71.
sumber
Jika ini tidak lengket, coba ini:
saat ini di
currentTarget
mengacu pada saat ini. Itu target terbaru yang menangkap peristiwa yang menggelegak dari tempat lain.sumber
Jika klik pada tag P dalam kode di atas maka Anda akan mendapatkan tiga peringatan, dan jika Anda mengklik tag div Anda akan mendapatkan dua peringatan dan satu peringatan tunggal pada mengklik tag formulir. Dan sekarang lihat kode berikut,
Di sini event.target adalah [objek HTMLParagraphElement], dan event.curentTarget adalah [objek HTMLDivElement]: Jadi
Di sini kita mengklik pada tag P tetapi kita tidak memiliki pendengar pada P tetapi pada div elemen induknya.
sumber
event.target adalah simpul dari mana peristiwa itu berasal, yaitu. dimanapun Anda menempatkan pendengar acara Anda (pada paragraf atau rentang), event.target merujuk ke simpul (tempat pengguna mengklik).
event.currentTarget , sebaliknya, mengacu pada simpul tempat pendengar kejadian saat ini dilampirkan. Yaitu. jika kita melampirkan pendengar acara kami pada node paragraf, maka event.currentTarget merujuk ke paragraf sementara event.target masih mengacu pada span. Catatan: bahwa jika kita juga memiliki pendengar acara di badan, maka untuk acara-pendengar ini, event.currentTarget merujuk ke tubuh (mis. Acara yang disediakan sebagai masukan untuk event-listerners diperbarui setiap kali acara menggelegak satu simpul ke atas).
sumber