Maison > interface Web > js tutoriel > Comment puis-je récupérer une liste d'écouteurs d'événements liés à un élément à l'aide de jQuery ?

Comment puis-je récupérer une liste d'écouteurs d'événements liés à un élément à l'aide de jQuery ?

Linda Hamilton
Libérer: 2024-11-08 02:52:02
original
423 Les gens l'ont consulté

How can I retrieve a list of event listeners bound to an element using jQuery?

Récupération des écouteurs d'événements attribués à un élément à l'aide de jQuery

En JavaScript, attacher des gestionnaires d'événements aux éléments est une pratique courante pour améliorer l'interaction utilisateur. jQuery fournit des capacités robustes de gestion des événements, facilitant l'attribution et la gestion des écouteurs d'événements sur les éléments. Cela soulève une question : peut-on récupérer une liste d'événements liés à un élément spécifique en utilisant jQuery ?

Problème :

Scénario : Nous avons un élément avec un ID " elm" et nous avons attaché deux gestionnaires d'événements à ce lien : un pour l'événement de clic et un autre pour le survol de la souris. événement.

<a href='#'>
Copier après la connexion
$(function()
{
  $('#elm').click(_f);
  $('#elm').mouseover(_m);
});

function _f(){alert('clicked');}
function _m(){alert('mouse over');}
Copier après la connexion

Existe-t-il un moyen d'obtenir une liste de tous les événements associés à l'élément avec l'ID « orme » ?

Réponse :

Dans les versions récentes de jQuery, la méthode $._data peut être utilisée pour récupérer des informations sur un élément, y compris les événements qui lui sont liés. Il convient de noter que $._data est une méthode à usage interne uniquement.

// 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" );
Copier après la connexion

$._data renverra un objet contenant les événements attachés à l'élément spécifié.

{ 
    click: [
        {
            handler: function(){ alert("Hello") }  // The defined click handler
        } 
    ],
    mouseout: [
        {
            handler: function(){ alert("World") }  // The defined mouseout handler
        }
    ] 
}
Copier après la connexion

Dans Chrome, vous pouvez cliquer avec le bouton droit sur la fonction de gestionnaire et sélectionner "afficher la définition de la fonction" pour retracer son origine dans votre code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal