Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah saya boleh mendapatkan semula senarai pendengar acara yang terikat pada elemen menggunakan jQuery?

Bagaimanakah saya boleh mendapatkan semula senarai pendengar acara yang terikat pada elemen menggunakan jQuery?

Linda Hamilton
Linda Hamiltonasal
2024-11-08 02:52:02364semak imbas

How can I retrieve a list of event listeners bound to an element using 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn