Dans le développement front-end, nous devons souvent utiliser des frameworks JavaScript pour gérer une logique d'interaction complexe. Parmi eux, jQuery est un framework largement utilisé qui fournit une série d'API simples et rapides pour faire fonctionner les éléments DOM, gérer les événements et d'autres opérations. Lorsque vous utilisez jQuery pour lier des gestionnaires d’événements, vous devez souvent obtenir les fonctions du gestionnaire lié. Cet article présentera différentes manières d'obtenir des liaisons d'événements jQuery.
1. Utilisez data()
Dans jQuery, vous pouvez utiliser la méthode .data() pour obtenir les données d'un élément. Par exemple, nous pouvons lier un gestionnaire d'événements à un élément :
$("#myButton").on("click", function() { alert("Clicked!"); });
Maintenant, nous pouvons utiliser la méthode data()
pour obtenir le gestionnaire d'événements lié : data()
方法来获取已绑定的事件处理函数:
var clickHandler = $("#myButton").data("events").click[0].handler;
以上代码通过data()
方法获取到了click
事件绑定的第一个处理函数,即上面定义的匿名函数。需要注意的是,该方法在jQuery版本3.x以后被弃用,不建议使用。
二、使用$._data()
在jQuery版本3.x以后,我们可以使用$._data()
方法来获取元素的绑定数据。例如,我们可以修改上面的代码为:
$("#myButton").on("click", function() { alert("Clicked!"); }); var clickHandler = $._data($("#myButton")[0], "events").click[0].handler;
以上代码通过$._data()
方法获取到了click
事件绑定的第一个处理函数,即上面定义的匿名函数。
需要注意的是,$._data()
方法是一个内部方法,不应该在正式项目中使用。如果需要获取元素的绑定数据,可以使用更为规范的data()
方法。
三、使用event对象
在事件处理函数中,我们可以通过event对象来获取绑定的事件处理函数。例如:
$("#myButton").on("click", function(event) { var clickHandler = event.handleObj.handler; });
以上代码通过event对象获取到了事件绑定的处理函数。需要注意的是,该方法只能在事件处理函数内部使用。
四、使用unbind()
在jQuery中,可以使用unbind()
方法来解除元素的事件绑定。当我们需要获取已绑定的事件处理函数时,可以在解除事件绑定前先将该函数保存到一个变量中。例如:
var clickHandler; $("#myButton").on("click", clickHandler = function() { alert("Clicked!"); }); $("#myButton").unbind("click", clickHandler);
以上代码定义了一个clickHandler变量,用来保存事件绑定的处理函数。然后,我们可以使用unbind()
方法来解除事件绑定,并在解除前获取到已绑定的事件处理函数。需要注意的是,该方法只适用于单一事件处理函数的情况。
总结
本文介绍了多种方法来获取jQuery事件绑定的处理函数,包括使用.data()、$._data()、event对象以及unbind()等方法。需要注意的是,在jQuery版本3.x以后,建议使用更为规范的data()
rrreee
click
, qui est la fonction anonyme définie ci-dessus. Il convient de noter que cette méthode est obsolète dans jQuery version 3.x et ultérieure et que son utilisation n'est pas recommandée. 🎜🎜2. Utilisez $._data()🎜🎜Dans jQuery version 3.x et versions ultérieures, nous pouvons utiliser la méthode $._data()
pour obtenir les données liées de l'élément. Par exemple, nous pouvons modifier le code ci-dessus en : 🎜rrreee🎜Le code ci-dessus obtient la première fonction de traitement liée à l'événement click
via la méthode $._data()
, c'est la fonction anonyme définie ci-dessus. 🎜🎜Il convient de noter que la méthode $._data()
est une méthode interne et ne doit pas être utilisée dans des projets formels. Si vous avez besoin d'obtenir les données liées d'un élément, vous pouvez utiliser la méthode data()
plus standardisée. 🎜🎜3. Utilisez l'objet événement🎜🎜Dans la fonction de traitement d'événement, nous pouvons obtenir la fonction de traitement d'événement liée via l'objet événement. Par exemple : 🎜rrreee🎜Le code ci-dessus obtient la fonction de traitement de liaison d'événement via l'objet événement. Il convient de noter que cette méthode ne peut être utilisée qu’à l’intérieur de la fonction de gestionnaire d’événements. 🎜🎜4. Utilisez unbind()🎜🎜Dans jQuery, vous pouvez utiliser la méthode unbind()
pour dissocier l'événement d'un élément. Lorsque nous avons besoin d'obtenir la fonction de gestion d'événement liée, nous pouvons enregistrer la fonction dans une variable avant de dissocier l'événement. Par exemple : 🎜rrreee🎜Le code ci-dessus définit une variable clickHandler pour enregistrer la fonction de gestionnaire de liaison d'événement. Ensuite, nous pouvons utiliser la méthode unbind()
pour dissocier l'événement et obtenir le gestionnaire d'événement lié avant la dissociation. Il convient de noter que cette méthode ne s’applique qu’à une seule fonction de gestion d’événements. 🎜🎜Résumé🎜🎜Cet article présente une variété de méthodes pour obtenir les fonctions de traitement de liaison d'événements jQuery, notamment l'utilisation de .data(), $._data(), d'objets d'événement et unbind() et d'autres méthodes. Il convient de noter qu'après la version 3.x de jQuery, il est recommandé d'utiliser la méthode data()
plus standardisée pour obtenir les données liées de l'élément. Lorsque vous devez dissocier un événement, vous pouvez utiliser la méthode unbind() pour obtenir le gestionnaire d'événements lié. 🎜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!