Bagaimana cara menemukan id tombol yang sedang diklik?
<button id="1" onClick="reply_click()"></button>
<button id="2" onClick="reply_click()"></button>
<button id="3" onClick="reply_click()"></button>
function reply_click()
{
}
javascript
html
Bin Chen
sumber
sumber
Jawaban:
Anda perlu mengirim ID sebagai parameter fungsi. Lakukan seperti ini:
Ini akan mengirimkan ID
this.id
sebagaiclicked_id
mana Anda dapat menggunakan fungsi Anda. Lihat beraksi di sini.sumber
event.target.id
(bagi saya, baik Firefox dan IE melemparkannya), ini adalah solusi hebat yang bekerja di ketiga browser utama.Secara umum, banyak hal lebih mudah untuk tetap teratur jika Anda memisahkan kode dan markup Anda. Tentukan semua elemen Anda, dan kemudian di bagian JavaScript Anda, tentukan berbagai tindakan yang harus dilakukan pada elemen tersebut.
Ketika event handler dipanggil, itu disebut dalam konteks elemen yang diklik. Jadi, pengidentifikasi ini akan merujuk ke elemen DOM yang Anda klik. Anda kemudian dapat mengakses atribut elemen melalui pengenal itu.
Sebagai contoh:
sumber
MENGGUNAKAN JAVASCRIPT MURNI: Saya tahu ini sudah terlambat tetapi mungkin untuk orang-orang masa depan dapat membantu:
Di bagian HTML:
Di Javascipt Controller:
Dengan cara ini kita tidak perlu mengikat 'id' Elemen pada saat memanggil fungsi javascript.
sumber
this
sebagai parameteronClick
(sebenarnya, tidak menggunakan onClick tetapi onChange, apakah itu mungkin masalahnya?). Saya juga telah memeriksa sekitar sedikit dan tampaknya ada banyak kebingungan tentangevent
variabel ini terjadi - apakah itu parameter "implisit" atau apakah itu harus dinyatakan secara eksplisit sebagai argumen (yaitufunction reply_click(event)
, yang saya juga lihat di beberapa lokasi)? Apakah hanya tersedia saat menetapkan pendengar acara melaluiaddEventListener
...? Saya sudah bermain-main, tetapi tidak bisa membuatnya bekerja.(Saya pikir
id
atribut perlu dimulai dengan surat. Mungkin salah.)Anda bisa mengikuti delegasi acara ...
... tapi itu mengharuskan Anda untuk relatif nyaman dengan model acara yang aneh.
sumber
e
argumen dibuat secara otomatis. Jika tidak, maka kita harus berurusan dengan IE6-8, yang sebaliknya menyediakan objek yang bermanfaat melaluiwindow.event
.sumber
sumber
Cara melakukannya tanpa JavaScript sebaris
umumnya disarankan untuk menghindari inline JavaScript, tetapi jarang ada contoh bagaimana melakukannya.
Inilah cara saya melampirkan acara ke tombol.
Saya tidak sepenuhnya senang dengan berapa lama metode yang direkomendasikan dibandingkan dengan yang sederhana
onClick
atribut .Browser 2014 saja
Browser 2013 saja
Lintas browser
Peramban silang dengan jQuery
Anda dapat menjalankan ini sebelum dokumen siap, mengklik tombol akan berfungsi karena kami melampirkan acara ke dokumen.
Berikut adalah jsfiddle
Untuk beberapa alasan aneh
insertHTML
fungsi ini tidak berfungsi walaupun berfungsi di semua browser saya.Anda selalu dapat mengganti
insertHTML
dengandocument.write
jika Anda tidak keberatan itu kekurangannyaSumber:
sumber
Jika Anda tidak ingin meneruskan argumen apa pun ke fungsi onclick, cukup gunakan
event.target
untuk mendapatkan elemen yang diklik:sumber
Dengan javascript murni Anda dapat melakukan hal berikut:
periksa Di JsFiddle
sumber
Anda bisa melakukannya dengan cara ini:
sumber
id=obj;
dan hanya memilikialert(obj);
sumber
sumber
Tombol 1 Tombol 2 Tombol 3
sumber
Maaf ini jawaban yang terlambat tetapi sangat cepat jika Anda melakukan ini: -
Ini mendapatkan ID dari tombol apa saja yang diklik.
Jika Anda hanya ingin mendapatkan nilai dari tombol yang diklik di tempat tertentu, cukup masukkan dalam wadah seperti
dan ubah kode menjadi: -
saya harap ini membantu
sumber
Ini akan mencatat id elemen yang telah diklik: addFields.
sumber