Mari kita anggap saya memiliki tautan di halaman saya:
<a href="#" id="foo">Click Here</a>
Saya tidak tahu apa-apa lagi, tetapi ketika saya mengklik tautan, sebuah alert("bar")
ditampilkan. Jadi saya tahu bahwa di suatu tempat, beberapa kode semakin terikat #foo
.
Bagaimana saya bisa menemukan kode yang mengikat alert("bar")
acara klik? Saya mencari solusi dengan Chrome.
Ps .: Contohnya adalah fiktif, jadi saya tidak mencari solusi seperti: "Gunakan XXXXXX dan cari seluruh proyek untuk" alert (\ "bar \") ". Saya ingin solusi debugging / penelusuran yang nyata.
{ }
simbol di sudut kiri bawah saat melihat js. Sihir.Anda juga dapat menggunakan inspektur Chrome untuk menemukan acara terlampir dengan cara lain, sebagai berikut:
Ini akan membawa Anda ke tempat pawang didefinisikan, seperti ditunjukkan dalam gambar berikut, dan dijelaskan oleh Paul Irish di sini: https://groups.google.com/forum/#!topic/google-chrome-developer-tools/NTcIS15uigA
sumber
Cobalah ekstensi jQuery Audit ( https://chrome.google.com/webstore/detail/jquery-audit/dhhnpbajdcgdmbbakdhhmfgmemlncjg ), setelah menginstal ikuti langkah-langkah ini:
sumber
(Terbaru per 2020) Untuk versi Chrome Versi 83.0.4103.61 :
Pilih elemen yang ingin Anda periksa
Pilih tab Acara Pendengar
Pastikan untuk memeriksa pendengar Kerangka untuk menunjukkan file javascript nyata bukan fungsi jquery.
sumber
Sunting : sebagai pengganti jawaban saya sendiri, yang satu ini cukup bagus: Cara debug bindings peristiwa JavaScript / jQuery dengan Firebug (atau alat serupa)
Alat pengembang Google Chromes memiliki fungsi pencarian yang dibangun di bagian skrip
Jika Anda tidak terbiasa dengan alat ini: (untuk berjaga-jaga)
Melakukan pencarian cepat untuk #ID akan membawa Anda ke fungsi pengikatan pada akhirnya.
Mis: mencari
#foo
akan membawa Anda kesumber
Pembaruan 2018 - Mungkin bermanfaat bagi pembaca di masa mendatang:
Saya tidak yakin kapan ini awalnya diperkenalkan di Chrome. Tetapi cara lain (mudah) ini bisa dilakukan sekarang di Chrome adalah melalui perintah konsol.
Misalnya: ( dalam tipe konsol chrome )
Sedangkan $ 0 adalah elemen yang dipilih di DOM.
https://developers.google.com/web/tools/chrome-devtools/console/command-line-reference#0_-_4
sumber
findEventHandlers adalah plugin jquery, kode mentahnya ada di sini: https://raw.githubusercontent.com/ruidfigueiredo/findHandlersJS/master/findEventHandlers.js
Langkah
Rekatkan kode mentah langsung ke konsol chrome (catatan: harus sudah memuat jquery)
Gunakan pemanggilan fungsi berikut:
findEventHandlers(eventType, selector);
untuk menemukan eventType handler elemen yang ditentukan pemilih terkait.
Contoh :
Kemudian jika ada, event handler yang tersedia akan ditampilkan di bawah, Anda perlu memperluas untuk menemukan handler, klik kanan fungsi dan pilih
show function definition
Lihat: https://blinkingcaret.wordpress.com/2014/01/17/quickly-finding-and-debugging-jquery-event-handlers/
sumber
Untuk Chrome Versi 52.0.2743.116:
Di Alat Pengembang Chrome, buka panel 'Cari' dengan menekan
Ctrl
+Shift
+F
.Ketikkan nama elemen yang ingin Anda temukan.
Hasil untuk elemen yang diikat akan muncul di panel dan nyatakan file tempat mereka berada.
sumber