Maison interface Web js tutoriel Explication détaillée de l'utilisation de la liaison d'événements jQuery (avec la différence entre bind et live)_jquery

Explication détaillée de l'utilisation de la liaison d'événements jQuery (avec la différence entre bind et live)_jquery

May 16, 2016 pm 03:19 PM
jquery 事件 绑定

Cet article analyse l'utilisation de la liaison d'événements jQuery avec des exemples. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

html :

<a href="#" onclick="addBtn()">addBtn</a>
<div id="mDiv">
  <button class="cBtn" onclick="alert(11111)">button1</button>
  <button class="cBtn">button2</button>
  <button class="cBtn">button3</button>
</div>

Copier après la connexion

javascript :

<script type="text/javascript">
 function addBtn(){
   $('#mDiv').append(' <button class="cBtn">button5</button>')
 }
jQuery(function($){
//使用on代替live和delegate(live由于性能原因已经被废弃,被delegate代替),新添加到mDiv的button依然会有绑定的事件
$('#mDiv').on('click','.cBtn',function(index, eleDom){
alert($(this).html())
 });
//使用on代替bind
$('.cBtn').on('click',function(){
alert($(this).html())
 })
//注意:
/*
1、无论使用bind、on、delegate、click(function())都是重复绑定,即绑定的同类型事件被放到一个事件队列中,依次执行,后绑定的事件不会替换之前绑定的,对于on使用off,delegate用undelegate,bind及click使用unbind来解除绑定,例如unbind(type)传递为事件类型,如果不传type则解出所有事件绑定;需要注意的是元素本身自带的事件无法unbind(如button1)
2、要绑定自定义事件,如'open',以上函数都可以使用,但激活需要使用trigger
总结:
建议使用on函数,绑定形式为$('.myClass').on({
click:function(eleDom){
...do someting...
},
dbclick:function(eleDom){
...do someting...
}
....
})
*/
}
</script>

Copier après la connexion

Quelques notes :

bind(type,[data],fn) lie un gestionnaire d'événements à un événement spécifique pour chaque élément correspondant

Copier le code Le code est le suivant :
$("a").bind("click" ,function( )(alert("ok");});

live(type,[data],fn) attache un gestionnaire d'événements à tous les éléments correspondants, même si l'élément est ajouté ultérieurement
Copier le code Le code est le suivant :
$("a").live("cliquez" ,function( )(alert("ok");});

delegate(selector,[type],[data],fn) ajoute un ou plusieurs gestionnaires d'événements à l'élément spécifié (un élément enfant de l'élément sélectionné) et spécifie la fonction à exécuter lorsque ces événements se produisent
Copier le code Le code est le suivant :
$("#container").delegate("a "," cliquez",function(){alert("ok");})

on(events,[selector],[data],fn) Fonction de gestionnaire d'événements qui lie un ou plusieurs événements à l'élément sélectionné

Différence :

.bind() est directement lié à l'élément

.live() est lié à l'élément par bouillonnement. Plus adapté aux types de liste, liés au nœud DOM du document. L'avantage de .bind() est qu'il prend en charge les données dynamiques.

.delegate() est un proxy d'événement plus précis pour une utilisation à petite échelle, et ses performances sont meilleures que .live()

.on() est la dernière version 1.9 qui intègre les trois méthodes précédentes du nouveau mécanisme de liaison d'événements

Supplément : La différence entre bind et live

Il existe trois façons de lier des événements dans jQuery : prenez l'événement click comme exemple

(1)target.click(function(){});

(2)target.bind("click",function(){});

(3)target.live("click",function(){});

La première méthode est facile à comprendre. En fait, elle est similaire à l'utilisation du JS ordinaire, sauf qu'il en manque une

Les deuxième et troisième méthodes sont toutes des événements de liaison, mais elles sont très différentes. Concentrons-nous sur leur explication ci-dessous, car elles sont beaucoup utilisées si vous utilisez le framework jQuery. Portez une attention particulière à la différence entre les deux.

【La différence entre bind et live】

La méthode live est en fait une variante de la méthode bind. Sa fonction de base est la même que la méthode bind. Elles lient toutes deux un événement à un élément, mais la méthode bind ne peut lier des événements qu'à l'élément actuellement existant. n'est pas valide pour les éléments nouvellement générés par JS et d'autres méthodes par la suite. La méthode live compense simplement ce défaut de la méthode bind. Elle peut également lier les événements correspondants aux éléments générés ultérieurement. Alors, comment cette fonctionnalité de la méthode live est-elle implémentée ? Discutons ci-dessous de son principe de mise en œuvre.

La raison pour laquelle la méthode live peut également lier les événements correspondants aux éléments générés ultérieurement est attribuée à la « délégation d'événements ». La soi-disant « délégation d'événements » signifie que les événements liés aux éléments ancêtres peuvent être liés aux éléments descendants pour être utilisés. . Le mécanisme de traitement de la méthode live consiste à lier l'événement au nœud racine de l'arborescence DOM au lieu de le lier directement à un élément. Donnez un exemple pour illustrer :

$(".clickMe").live("click",fn);
$("body").append("<div class='clickMe'>测试live方法的步骤</div>");

Copier après la connexion

Lorsque nous cliquons sur ce nouvel élément, les étapes suivantes se produiront :

(1) Générez un événement de clic et transmettez-le au div pour traitement

(2) Puisqu'aucun événement n'est directement lié au div, l'événement remonte directement à l'arborescence DOM

(3) Les événements continuent de remonter jusqu'au nœud racine de l'arborescence DOM. Par défaut, l'événement click est lié au nœud racine

.

(4) Exécuter l'événement de clic lié par live

(5) Détectez si l'objet lié à l'événement existe et déterminez s'il est nécessaire de continuer à exécuter l'événement lié. La détection des objets événementiels se fait en détectant

Copier le code Le code est le suivant :
$(event.target).closest('.clickMe')
Cela peut-il être réalisé en trouvant des éléments correspondants.

(6) Grâce au test de (5), si l'objet lié à l'événement existe, l'événement lié sera exécuté.

Étant donné que la méthode live détectera si l'objet lié à l'événement existe uniquement lorsqu'un événement se produit, la méthode live peut implémenter des éléments ajoutés ultérieurement et une liaison d'événement. En revanche, bind déterminera si l'élément auquel l'événement est lié existe pendant la phase de liaison de l'événement et se liera uniquement à l'élément actuel, pas au nœud parent.

D'après l'analyse ci-dessus, les avantages du live sont vraiment grands, alors pourquoi devrions-nous utiliser la méthode bind ? La raison pour laquelle jQuery conserve la méthode bind au lieu d'utiliser la méthode live pour remplacer bind est que live ne peut pas remplacer complètement bind dans certains cas. Les principales différences sont les suivantes :

(1) La méthode bind peut lier n'importe quel événement JavaScript, tandis que la méthode live ne prend en charge que click, dblclick, keydown, keypress, keyup, mousedown, mousemove, mouseout, mouseover et mouseup dans jQuery 1.3. 1, les événements focus et blue sont même pris en charge (mappés sur focusin et focusout, qui sont plus adaptés et peuvent bouillonner). De plus, dans jQuery 1.4.1, le survol (mappé sur "mouseenter mouseleave") est également pris en charge.

(2) live() ne prend pas entièrement en charge les éléments trouvés via la traversée du DOM. Au lieu de cela, vous devez toujours utiliser la méthode .live() directement après un sélecteur.

(3) Lorsqu'un élément utilise la méthode live pour lier des événements, si vous souhaitez empêcher la livraison ou la diffusion d'événements, vous devez renvoyer false dans la fonction. Le simple fait d'appeler stopPropagation() ne peut pas empêcher la livraison des événements. bouillonnant

Les lecteurs intéressés par plus de contenu lié aux événements et aux méthodes jQuery peuvent consulter le sujet spécial de ce site : "Résumé de l'utilisation et des techniques courantes des événements jQuery"

J'espère que cet article sera utile à tous ceux qui programment jQuery.

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Tutoriel BTCC : Comment lier et utiliser le portefeuille MetaMask sur l'échange BTCC ? Tutoriel BTCC : Comment lier et utiliser le portefeuille MetaMask sur l'échange BTCC ? Apr 26, 2024 am 09:40 AM

MetaMask (également appelé Little Fox Wallet en chinois) est un logiciel de portefeuille de cryptage gratuit et bien accueilli. Actuellement, BTCC prend en charge la liaison au portefeuille MetaMask. Après la liaison, vous pouvez utiliser le portefeuille MetaMask pour vous connecter rapidement, stocker de la valeur, acheter des pièces, etc., et vous pouvez également obtenir un bonus d'essai de 20 USDT pour la première liaison. Dans le didacticiel du portefeuille BTCCMetaMask, nous présenterons en détail comment enregistrer et utiliser MetaMask, ainsi que comment lier et utiliser le portefeuille Little Fox dans BTCC. Qu'est-ce que le portefeuille MetaMask ? Avec plus de 30 millions d’utilisateurs, MetaMask Little Fox Wallet est aujourd’hui l’un des portefeuilles de crypto-monnaie les plus populaires. Son utilisation est gratuite et peut être installée sur le réseau en tant qu'extension

Comment lier un sous-compte sur Xiaohongshu ? Comment vérifie-t-il si le compte est normal ? Comment lier un sous-compte sur Xiaohongshu ? Comment vérifie-t-il si le compte est normal ? Mar 21, 2024 pm 10:11 PM

À l’ère actuelle d’explosion de l’information, la construction d’une marque personnelle et d’une image d’entreprise est devenue de plus en plus importante. En tant que principale plateforme de partage de vie dans le domaine de la mode en Chine, Xiaohongshu a attiré l'attention et la participation d'un grand nombre d'utilisateurs. Pour les utilisateurs qui souhaitent étendre leur influence et améliorer l’efficacité de la diffusion du contenu, les sous-comptes contraignants sont devenus un moyen efficace. Alors, comment Xiaohongshu lie-t-il un sous-compte ? Comment vérifier si le compte est normal ? Cet article répondra à ces questions pour vous en détail. 1. Comment lier un sous-compte sur Xiaohongshu ? 1. Connectez-vous à votre compte principal : Tout d'abord, vous devez vous connecter à votre compte principal Xiaohongshu. 2. Ouvrez le menu des paramètres : cliquez sur « Moi » dans le coin supérieur droit, puis sélectionnez « Paramètres ». 3. Accédez à la gestion du compte : dans le menu des paramètres, recherchez l'option "Gestion du compte" ou "Assistant de compte" et cliquez sur

Mar 22, 2024 pm 05:56 PM

1. Ouvrez Toutiao. 2. Cliquez sur Mon dans le coin inférieur droit. 3. Cliquez sur [Paramètres système]. 4. Cliquez sur [Paramètres de compte et de confidentialité]. 5. Cliquez sur le bouton sur le côté droit de [Douyin] pour lier Douyin.

Comment lier l'application Cainiao à Pinduoduo ? Comment ajouter le Cainiao Wrap à la plateforme Pinduoduo ? Comment lier l'application Cainiao à Pinduoduo ? Comment ajouter le Cainiao Wrap à la plateforme Pinduoduo ? Mar 19, 2024 pm 02:30 PM

L'application Cainiao est une plate-forme qui peut vous fournir diverses informations logistiques. Les fonctions ici sont très puissantes et faciles à utiliser. Si vous rencontrez des problèmes liés à la logistique, ils peuvent être résolus ici. Quoi qu'il en soit, cela peut vous apporter une solution. -Le service d'arrêt peut tout résoudre à temps. La vérification de la livraison express, la récupération de la livraison express, l'envoi de la livraison express, etc. se font sans aucun problème. Nous avons coopéré avec diverses plateformes et toutes les informations peuvent être interrogées. Il arrivera que les marchandises achetées sur Pinduoduo ne puissent pas afficher les informations logistiques. En fait, vous devez lier manuellement Pinduoduo pour y parvenir. Les méthodes spécifiques ont été triées ci-dessous, et tout le monde peut y jeter un œil. Comment lier Cainiao au compte Pinduoduo : 1. Ouvrez l'application Cainiao et accédez à la page principale.

Comment utiliser la méthode de requête PUT dans jQuery ? Comment utiliser la méthode de requête PUT dans jQuery ? Feb 28, 2024 pm 03:12 PM

Comment utiliser la méthode de requête PUT dans jQuery ? Dans jQuery, la méthode d'envoi d'une requête PUT est similaire à l'envoi d'autres types de requêtes, mais vous devez faire attention à certains détails et paramètres. Les requêtes PUT sont généralement utilisées pour mettre à jour des ressources, comme la mise à jour de données dans une base de données ou la mise à jour de fichiers sur le serveur. Ce qui suit est un exemple de code spécifique utilisant la méthode de requête PUT dans jQuery. Tout d'abord, assurez-vous d'inclure le fichier de la bibliothèque jQuery, puis vous pourrez envoyer une requête PUT via : $.ajax({u

Comment lier l'application Cainiao à Pinduoduo Comment lier l'application Cainiao à Pinduoduo Comment lier l'application Cainiao à Pinduoduo Comment lier l'application Cainiao à Pinduoduo Mar 19, 2024 pm 05:16 PM

Savez-vous comment lier Pinduoduo lorsque vous utilisez Cainiao Wrap ? La version officielle de l'application Cainiao Wrap ne synchronise pas automatiquement certaines informations logistiques de Pinduoduo sur cette plateforme. Il vous suffit de copier le numéro de commande ou de vérifier votre téléphone portable pour le voir. s'il y a des informations de livraison express. Bien entendu, tout cela doit être complété manuellement. Si vous souhaitez en savoir plus, venez jeter un œil auprès de l'éditeur. Comment lier l'application Cainiao à Pinduoduo 1. Ouvrez l'application Cainiao et cliquez sur « Guide du package » dans le coin supérieur gauche de la page principale. 2. Dans l'interface, il existe de nombreux sites Web d'achats et les comptes peuvent être liés. 3. Cliquez pour importer d'autres plateformes de commerce électronique. 4. Autorisation de l'utilisateur : cliquez sur Pinduoduo pour accéder à l'interface

Comment lier l'application de voiture Xiaomi au périphérique de chargement Comment lier l'application de voiture Xiaomi au périphérique de chargement Apr 01, 2024 pm 06:52 PM

Le dernier modèle de voiture Mi su7 lancé par Xiaomi a dominé diverses listes de recherche populaires. De nombreux utilisateurs qui ont besoin d'acheter une voiture ont choisi le modèle de voiture Xiaomi su7 pour l'achat. Alors, comment utilisez-vous votre application de voiture Xiaomi pour lier la voiture après la sélection. monter la voiture ? Si vous décidez d'utiliser une borne de recharge domestique pour recharger, ce guide didacticiel vous donnera une introduction détaillée, j'espère qu'il pourra vous aider. Tout d'abord, nous ouvrons l'application mobile Xiaomi, cliquons sur le bouton Mon dans le coin inférieur droit, puis dans l'interface Mon, vous pouvez voir l'option de pile de chargement à domicile. Après avoir entré la page qui lie la pile de chargement, cliquez sur le code de numérisation. ci-dessous et scannez le code QR sur la pile de chargement. Le code QR peut être utilisé pour lier la pile de chargement à l'application.

Que dois-je faire si ma petite boîte noire ne peut pas être liée à Steam ? Que dois-je faire si ma petite boîte noire ne peut pas être liée à Steam ? Mar 12, 2024 pm 03:10 PM

L'incapacité de la Black Box à se lier à Steam peut être causée par des problèmes de réseau ou de version du logiciel. La petite boîte noire fournit des informations, notamment les prix des jeux sortis et à venir, les exigences et critiques de configuration de l'ordinateur, ainsi qu'une analyse approfondie du gameplay. En outre, il permet également aux utilisateurs de trouver les informations dont ils ont besoin via des appareils mobiles à tout moment et en tout lieu. Que faire si la petite boîte noire ne peut pas être liée à Steam 1. Confirmez l'état du réseau et assurez-vous que l'appareil est connecté à Internet. 2. Vérifiez la version de Little Black Box. Veuillez vous assurer que vous utilisez la dernière version du logiciel Little Black Box et essayez de lier votre compte Steam. 3. Pour vérifier les paramètres du compte Steam, veuillez vous connecter au compte Steam et vérifier si la fonction d'autorisation de liaison de logiciels tiers est activée dans les paramètres de confidentialité. 4. Contactez le service client officiel Si les étapes ci-dessus ne parviennent toujours pas à résoudre le problème, il est recommandé de contacter le service client officiel pour obtenir de l'aide.

See all articles