Maison >interface Web >js tutoriel >Comment récupérer les liaisons d'événements vers un élément spécifique avec jQuery ?

Comment récupérer les liaisons d'événements vers un élément spécifique avec jQuery ?

DDD
DDDoriginal
2024-11-08 09:09:011044parcourir

How to Retrieve Event Bindings to a Specific Element with jQuery?

Récupération des liaisons d'événements avec jQuery

Dans le développement Web, il est souvent nécessaire d'attacher des gestionnaires d'événements aux éléments pour répondre aux interactions des utilisateurs. jQuery fournit un moyen pratique de lier des événements à des éléments, mais comment pouvez-vous récupérer une liste de tous les événements liés à un élément spécifique ?

Considérez l'exemple suivant où deux gestionnaires d'événements sont liés à un lien :

<a href='#'>
$(function() {
  $('#elm').click(_f);
  $('#elm').mouseover(_m);
});

function _f() { alert('clicked'); }
function _m() { alert('mouse over'); }

Récupération d'événements liés

Pour obtenir une liste d'événements liés à un élément, jQuery propose la méthode $._data. Cette méthode peut être utilisée pour accéder aux données internes associées à l'élément, y compris tous les événements liés par jQuery.

$._data($('#elm')[0], "events");

La sortie de $._data sera un objet contenant les événements liés à l'élément. Chaque événement est représenté sous la forme d'un tableau de gestionnaires. Par exemple, le résultat du code ci-dessus pourrait ressembler à :

{
  "click": [function() { alert('clicked'); }],
  "mouseover": [function() { alert('mouse over'); }]
}

Exploration plus approfondie

Dans les versions modernes de jQuery, $._data est un usage interne seule méthode. Pour récupérer les liaisons d'événements, vous pouvez également utiliser le Event Bubbling Viewer dans les outils de développement de votre navigateur. Dans Chrome, cliquez avec le bouton droit sur un gestionnaire d'événements dans la console et sélectionnez « Afficher la définition de la fonction » pour révéler le code dans lequel le gestionnaire d'événements est défini.

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!

Déclaration:
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