Rumah > Artikel > hujung hadapan web > Bagaimanakah saya boleh mendapatkan semula senarai pendengar acara yang terikat pada elemen menggunakan jQuery?
Mendapatkan semula Pendengar Acara yang Ditugaskan pada Elemen Menggunakan jQuery
Dalam JavaScript, melampirkan pengendali acara pada elemen ialah amalan biasa untuk meningkatkan interaksi pengguna. jQuery menyediakan keupayaan pengendalian acara yang mantap, menjadikannya mudah untuk menetapkan dan mengurus pendengar acara pada elemen. Ini menimbulkan persoalan: bolehkah kita mendapatkan semula senarai peristiwa yang terikat pada elemen tertentu menggunakan jQuery?
Masalah:
Senario: Kami mempunyai elemen dengan ID " elm" dan kami telah melampirkan dua pengendali acara pada pautan ini – satu untuk acara klik dan satu lagi untuk acara alih tetikus.
<a href='#'>
$(function() { $('#elm').click(_f); $('#elm').mouseover(_m); }); function _f(){alert('clicked');} function _m(){alert('mouse over');}
Adakah terdapat cara untuk mendapatkan senarai semua acara yang dikaitkan dengan elemen dengan ID "elm"?
Jawapan:
Dalam versi terbaru jQuery, kaedah $._data boleh digunakan untuk mendapatkan maklumat tentang elemen, termasuk sebarang peristiwa terikat kepadanya. Perlu diingat bahawa $._data ialah kaedah penggunaan dalaman sahaja.
// Bind up a couple of event handlers $("#foo").on({ click: function(){ alert("Hello") }, mouseout: function(){ alert("World") } }); // Lookup events for this particular Element $._data( $("#foo")[0], "events" );
$._data akan mengembalikan objek yang mengandungi peristiwa yang dilampirkan pada elemen yang ditentukan.
{ click: [ { handler: function(){ alert("Hello") } // The defined click handler } ], mouseout: [ { handler: function(){ alert("World") } // The defined mouseout handler } ] }
Dalam Chrome, anda boleh klik kanan fungsi pengendali dan pilih "lihat definisi fungsi" untuk mengesan asalnya dalam kod anda.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mendapatkan semula senarai pendengar acara yang terikat pada elemen menggunakan jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!