Saya ingin melihat semua peristiwa yang dipicu oleh bidang masukan saat pengguna berinteraksi dengannya. Ini termasuk hal-hal seperti:
- Mengkliknya.
- Mengkliknya.
- Menabraknya.
- Menjauh darinya.
- Ctrl+ Cdan Ctrl+ Vdi keyboard.
- Klik kanan -> Tempel.
- Klik kanan -> Potong.
- Klik kanan -> Salin.
- Menyeret dan melepas teks dari aplikasi lain.
- Memodifikasi dengan Javascript.
- Memodifikasi dengan alat debug, seperti Firebug.
Saya ingin menampilkannya menggunakan console.log
. Apakah ini mungkin di Javascript / jQuery, dan jika demikian, bagaimana cara melakukannya?
javascript
jquery
events
dom-events
Daniel T.
sumber
sumber
Jawaban:
Itu akan memberi Anda banyak (tetapi tidak semua) informasi tentang jika suatu peristiwa dipecat ... selain mengkodekannya secara manual seperti ini, saya tidak dapat memikirkan cara lain untuk melakukan itu.
sumber
function
, dan dengan cara yang sama :).blur
ke daftar acara Anda.Saya tidak tahu mengapa tidak ada yang menggunakan ini ... (mungkin karena ini hanya masalah webkit)
Buka konsol:
sumber
monitorEvents
tidak memberikan informasi yang relevan tentang ini, juga, saya sangat curiga ini sangat tidak standarmonitorEvents($0, 'mouse');
untuk mencatat semua kejadian dari elemen yang diinspeksi (Klik kanan> "Inspect"). ( Briangrinstead.com/blog/chrome-developer-tools-monitorevents )Ada cara umum yang bagus menggunakan koleksi .data ('events'):
Ini mencatat setiap peristiwa yang telah terikat ke elemen oleh jQuery saat peristiwa spesifik ini diaktifkan. Kode ini sangat membantu saya berkali-kali.
Btw: Jika Anda ingin melihat setiap kemungkinan peristiwa yang ditembakkan pada suatu objek gunakan firebug: cukup klik kanan pada elemen DOM di tab html dan centang "Peristiwa Log". Setiap acara kemudian akan dicatat ke konsol (ini terkadang sedikit mengganggu karena mencatat setiap gerakan mouse ...).
sumber
sumber
Saya tahu jawabannya telah diterima untuk ini, tetapi saya pikir mungkin ada cara yang sedikit lebih dapat diandalkan di mana Anda tidak perlu mengetahui nama acaranya terlebih dahulu. Ini hanya berfungsi untuk acara asli meskipun sejauh yang saya tahu, bukan acara khusus yang telah dibuat oleh plugin. Saya memilih untuk menghilangkan penggunaan jQuery untuk sedikit menyederhanakan banyak hal.
Saya harap ini membantu siapa saja yang membaca ini.
EDIT
Jadi saya melihat pertanyaan lain di sini yang serupa, jadi saran lain adalah melakukan hal berikut:
sumber
Benang tua, saya tahu. Saya juga membutuhkan sesuatu untuk memantau acara dan menulis solusi yang sangat berguna (luar biasa) ini. Anda dapat memantau semua kejadian dengan hook ini (dalam pemrograman windows ini disebut hook). Pengait ini tidak mempengaruhi pengoperasian perangkat lunak / program Anda.
Di log konsol, Anda dapat melihat sesuatu seperti ini:
Penjelasan tentang apa yang Anda lihat:
Di log konsol, Anda akan melihat semua acara yang Anda pilih (lihat di bawah "cara menggunakan" ) dan menunjukkan tipe objek, nama kelas, id, <: nama fungsi>, <: nama peristiwa>. Pemformatan objek seperti css.
Saat Anda mengklik tombol atau event terikat apa pun, Anda akan melihatnya di log konsol.
Kode yang saya tulis:
Contoh cara menggunakannya:
Pantau semua acara:
Pantau semua pemicu saja:
Pantau semua acara ON saja:
Pantau semua OFF hanya melepas ikatan:
Keterangan / Pemberitahuan:
Semoga membantu! ;-)
sumber
https://github.com/robertleeplummerjr/wiretap.js
sumber
HTMLElement.prototype.addEventListener
dan mungkin tidak boleh digunakan dalam produksi, tetapi itu sudah sangat membantu saya untuk tujuan debugging.Cukup tambahkan ini ke halaman dan tidak ada kekhawatiran lain, akan menangani istirahat untuk Anda:
Anda juga dapat menggunakan console.log ('Input event:' + e.type) untuk membuatnya lebih mudah.
sumber
function
, dan dengan cara yang sama :).$('input').data('events')
dan hasilnya tidak ditentukan.LANGKAH 1: Periksa
events
untukHTML element
dideveloper console
:LANGKAH 2: Dengarkan yang
events
ingin kami tangkap:Semoga berhasil...
sumber
Saya baru-baru ini menemukan dan memodifikasi potongan ini dari posting SO yang sudah ada yang tidak dapat saya temukan lagi tetapi menurut saya sangat berguna
sumber
Ini menggunakan sedikit ES6 untuk kecantikan, tetapi dapat dengan mudah diterjemahkan untuk browser lama juga. Dalam fungsi yang dilampirkan ke event listener, saat ini hanya keluar dari event apa yang terjadi tetapi di sinilah Anda dapat mencetak informasi tambahan, atau menggunakan switch case
e.type
, Anda hanya dapat mencetak informasi pada event tertentu.sumber
Berikut adalah cara non-jquery untuk memantau peristiwa di konsol dengan kode Anda dan tanpa menggunakan monitorEvents () karena itu hanya berfungsi di Konsol Pengembang Chrome. Anda juga dapat memilih untuk tidak memantau kejadian tertentu dengan mengedit larik no_watch.
sumber