Saya ingin mendapatkan elemen saat ini (elemen apa pun itu) dalam dokumen HTML yang saya klik. Saya menggunakan:
$(document).click(function () {
alert($(this).text());
});
Tapi sangat aneh, saya mendapatkan teks dari seluruh dokumen (!), Bukan elemen yang diklik.
Bagaimana cara mendapatkan hanya elemen yang saya klik?
Contoh
<body>
<div class="myclass">test</div>
<p>asdfasfasf</p>
</body>
Jika saya mengklik teks "test", saya ingin dapat membaca atribut dengan $(this).attr("myclass"
) di jQuery.
javascript
jquery
html
dom
pengguna1145216
sumber
sumber
target
properti dari objek acara.Jawaban:
Anda perlu menggunakan
event.target
elemen mana yang awalnya memicu acara. Dalamthis
contoh kode Anda merujukdocument
.Di jQuery, itu ...
Tanpa jQuery ...
Juga, pastikan jika Anda perlu untuk dukungan <IE9 yang Anda gunakan
attachEvent()
bukanaddEventListener()
.sumber
if(event.target === myjQueryDivElement)
apa yang harus saya lakukan: diif(event.target.hasClass('mydivclass'))
mana kelas saya adalah kelas yang dimiliki elemen saya.|| target.innerText
?event.target
untuk mendapatkanelement
untuk mendapatkan teks dari elemen yang diklik
sumber
gunakan yang berikut di dalam tag tubuh
kemudian gunakan di javascript fungsi berikut untuk mendapatkan ID
sumber
Anda dapat menemukan elemen target di
event.target
:Referensi:
sumber
Gunakan
delegate
danevent.target
.delegate
mengambil keuntungan dari peristiwa yang menggelegak dengan membiarkan satu elemen mendengarkan, dan menangani, peristiwa pada elemen anak.target
adalah properti dinormalisasi jQ darievent
objek yang mewakili objek dari mana peristiwa itu berasal.Demo: http://jsfiddle.net/xXTbP/
sumber
on()
harus direkomendasikandelegate()
. Juga,document
mungkin satu-satunya pengecualian untuk tidak menggunakandelegate()
/on()
karena mereka menggelegak ke titik penanganan tertinggi.on
tergelincir di pikiran saya.delegate
memang ada overhead penyaringan untuk dipertimbangkan, ...Saya tahu posting ini benar-benar tua tetapi, untuk mendapatkan konten suatu elemen dalam referensi ID-nya, inilah yang akan saya lakukan:
sumber
sumber
Berikut adalah solusi yang menggunakan pemilih jQuery sehingga Anda dapat dengan mudah menargetkan tag dari kelas, ID, jenis apa pun.
sumber