Récupération des liaisons des é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 utilisateur. jQuery fournit un moyen pratique de lier les événements aux é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:
$(function() { $('#elm').click(_f); $('#elm').mouseover(_m); }); function _f() { alert('clicked'); } function _m() { alert('mouse over'); }
Récupération des événements liés
pour obtenir une liste des événements liés à un élément, jQuery propose la méthode de données $ ._. 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 des données $ ._ sera un objet contenant les événements liés à l'élément. Chaque événement est représenté comme un éventail de gestionnaires. Par exemple, le résultat du code ci-dessus peut ressembler à:
{ "click": [function() { alert('clicked'); }], "mouseover": [function() { alert('mouse over'); }] }
Exploration plus approfondie
Dans les versions modernes de jQuery, $ ._ Les données sont une méthode à usage interne uniquement. Pour récupérer les liaisons des événements, vous pouvez également utiliser la visionneuse de bulles d'événements dans les outils de développeur de votre navigateur. Dans Chrome, cliquez avec le bouton droit sur un gestionnaire d'événements dans la console et sélectionnant "Voir la définition de la fonction" révélera le code où le gestionnaire d'événements est défini.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3