Maison interface Web js tutoriel Exemples pour expliquer l'utilisation de la liaison de fonction JavaScript

Exemples pour expliquer l'utilisation de la liaison de fonction JavaScript

Dec 21, 2017 am 10:17 AM
javascript js 绑定

Cet article présente principalement l'utilisation de la liaison de fonctions JavaScript et analyse les principes, les méthodes de mise en œuvre et les techniques de fonctionnement associées de la liaison de fonctions JavaScript sous forme d'exemples. J'espère que cela pourra aider tout le monde.

Perface

Si on vous demande d'implémenter cette page et certaines opérations, comme cliquer sur 1 , 2 , 3, etc. sont affichés dans le texte de saisie, et il existe également une fonction de suppression. Nous ne nous en soucions pas lors de la numérotation, c'est juste une simulation. Si je débutais, je ferais ceci :

1. Utilisez CSS et HTML pour présenter l'interface

2. Utilisez la délégation d'événement JavaScript pour surveiller l'événement de clic du parent du bouton. node

Mais que se passe-t-il si je souhaite utiliser la pensée orientée objet ? Je l'ai fait dans Ext, donc je dirais que cela m'a beaucoup aidé à encapsuler. Peut-être que certaines personnes qui n'ont jamais utilisé Ext ne comprennent pas le code que j'ai posté ci-dessous, mais je ferai de mon mieux pour l'expliquer clairement !

Description


ContactTelPanel =Ext.extend(Ext.Panel, {
  //构造方法
  constructor : function(config) {
    Ext.apply(this, config);//直接把config对象的属性全复制到this对象中
    Parent = this.parent;
    var me = this;
    ContactTelPanel.superclass.constructor.call(this, {//用ContactTelPanel的父类也就是Ext.Panel的构造函数
      autoScroll : true,
      title : "拨打电话",//设置title,跟这篇文章的主体没关系,不要管他
      id : "contacttelpanel",
      bodyStyle : "padding: 30px 300px;",
      defaults : {//可以为该对象(ContactTelPanel)包含的组件(也就是在items配置选项)设置一些相同属性
        layout : "column",
        defaults : {
          xtype : "button",
          width : 50,
          height : 25,
          style : "margin:4px 15px",
          handler : this.press //为每个按钮都添加一个click的事件
        },
        bodyBorder : false
      },
      items : [ {//textfield组件
        height : 30,
        width : 250,
        xtype : "textfield",
        id : "tf",
        style : "margin-bottom:10px"
      }, {// 没有xtype就是默认为panel,下面也是,不然就不要纠结了,直接在这里想象成第一行按钮1、按钮2、按钮3
        items : [ {
          text : "1"
        }, {
          text : "2"
        }, {
          text : "3"
        } ]
      }, {// 这里是按钮4、按钮5、按钮6
        items : [ {
          text : "4"
        }, {
          text : "5"
        }, {
          text : "6"
        } ]
      }, {// 这里是按钮7、按钮8、按钮9 下同
        items : [ {
          text : "7"
        }, {
          text : "8"
        }, {
          text : "9"
        } ]
      }, {
        items : [ {
          text : "*"
        }, {
          text : "0"
        }, {
          text : "#"
        } ]
      }, {
        items : [ {
          text : "拨打",
        }, {
          text : "删除",
        } ]
      } ]
    });
  },
  press : function() {
    var text = this.text, textfield = Ext.getDom("tf");
    if (/[0-9*#]/.test(text)) {//在textfield中显示所点击按钮的数字
      textfield.value += text;
    } else if (this.text == "删除") {//删除功能
      textfield.value = textfield.value.slice(0, -1);
    } else if (this.text == "拨打") {//这个先不要管他
      Tel.telcall(textfield.value);
    }
  }
});
Copier après la connexion

Remarque : En fait, nous pouvons savoir d'après ce qui précède que ContactTelPanel hérite de Ext.Panel , puis il y a de nombreuses clés dans ce panneau, dont chacune écoute les événements de clic. J'ai vraiment l'impression que je ne suis pas très bon ici. Je devrais utiliser la délégation d'événement pour l'implémenter, car chacun de vos boutons écoute l'événement de clic, ce qui affecte trop l'efficacité. Grâce à la délégation d'événements, nous pouvons simplement écouter l'événement de clic de son nœud parent, puis déterminer l'objet cible et opérer en fonction du flux d'événements. L'objectif de cet article est toujours dans le code handler : this.press dans l'événement d'écoute. Le problème que j'ai rencontré est le suivant : que se passe-t-il si je dois utiliser certains attributs de cette classe ContactTelPanel dans la fonction de presse ?

Idée

Je pense que je souhaite utiliser les attributs de cette classe dans la fonction presse J'utilise cet objet directement dans la presse. . Comprenez-le, mais j'avais tort. Par exemple, si vous voyez console.dir(this) dans la fonction Press, ce qui apparaît sur la console Chrome Malheureusement, ce qui apparaît est un objet Button, et son pointeur this a changé ? C'était effectivement un peu gênant, et j'ai alors pensé à trois méthodes, comme suit :

Solution

1 Passer dans chaque fonction qui écoute à l'événement Référez-vous au

code : handler : this.press(this), puis écrivez alert(arguments[0])

dans le corps de la fonction presse Que se passe-t-il. : Cette page est effectivement chargée. La fenêtre pop-up est ContactTelPanel, mais elle n'apparaît pas lorsque vous cliquez sur ces boutons

Raison : this.press(this), l'analyseur javascript écrit de cette manière. le traitera comme appelant la fonction de presse. Ensuite, lorsque vous chargez la page, exécutez

2 et définissez la variable globale dans cette classe ContactTelPanel

Code  : Par exemple, set me = this sur la cinquième ligne, puis dans la fonction presse Écrivez dans le corps alert(me)

Que se passe-t-il : Il est vrai que la fenêtre apparaît lorsque l'on clique sur le bouton , et cela réussit

Inconvénients : pollue la situation globale. Les variables sont facilement falsifiées par d'autres involontairement. Par exemple, lorsque j'introduis le js de cette page et que je fais ensuite référence à d'autres js, je définis var me = "monkindy" dans le js suivant. Ensuite, lorsque vous cliquez sur le bouton de cette page, il apparaîtra 123, ce qui n'est pas un. Objet ContactTelPanel

3 Utilisation simple des fermetures

Code:handler : function(){me.press(me)} Remarque : moi est l'objet ContactTelPanel, car ce pointeur en fonction est déjà un objet bouton, donc il devrait être en fonction Utilisez-moi (ou un autre nom de variable) pour enregistrer cet objet à l'extérieur, c'est-à-dire var me = this

Que se passe-t-il : C'est bien sûr réussi

4 Utilisez l'appel pour implémenter la fonction Binding

Code : handler : function(){ me.press.call(this,me);}

Pensez personnellement  : Cela devrait être le plus utile

Autre : l'article précédent, une explication détaillée de la liaison de fonctions JavaScript, a introduit la technologie de liaison de fonctions basée sur du js pur. Les lecteurs intéressés peuvent comparer les similitudes et les différences entre les deux.

Recommandations associées :

Explication détaillée de la façon d'utiliser le code de liaison de fonction pour l'interaction javascript

js utilise la technologie de liaison de fonction pour modifier l'événement gestionnaires Compétences Scope_javascript

Explication détaillée de la fonction JavaScript connaissances de liaison_basic

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 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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

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)

Recommandé : Excellent projet de détection et de reconnaissance des visages open source JS Recommandé : Excellent projet de détection et de reconnaissance des visages open source JS Apr 03, 2024 am 11:55 AM

La technologie de détection et de reconnaissance des visages est déjà une technologie relativement mature et largement utilisée. Actuellement, le langage d'application Internet le plus utilisé est JS. La mise en œuvre de la détection et de la reconnaissance faciale sur le front-end Web présente des avantages et des inconvénients par rapport à la reconnaissance faciale back-end. Les avantages incluent la réduction de l'interaction réseau et de la reconnaissance en temps réel, ce qui réduit considérablement le temps d'attente des utilisateurs et améliore l'expérience utilisateur. Les inconvénients sont les suivants : il est limité par la taille du modèle et la précision est également limitée ; Comment utiliser js pour implémenter la détection de visage sur le web ? Afin de mettre en œuvre la reconnaissance faciale sur le Web, vous devez être familier avec les langages et technologies de programmation associés, tels que JavaScript, HTML, CSS, WebRTC, etc. Dans le même temps, vous devez également maîtriser les technologies pertinentes de vision par ordinateur et d’intelligence artificielle. Il convient de noter qu'en raison de la conception du côté Web

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 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

Conseils de développement PHP et JS : maîtrisez la méthode de création de graphiques en bougies boursières Conseils de développement PHP et JS : maîtrisez la méthode de création de graphiques en bougies boursières Dec 18, 2023 pm 03:39 PM

Avec le développement rapide de la finance sur Internet, l'investissement en actions est devenu le choix de plus en plus de personnes. Dans le trading d'actions, les graphiques en bougies sont une méthode d'analyse technique couramment utilisée. Ils peuvent montrer l'évolution des cours des actions et aider les investisseurs à prendre des décisions plus précises. Cet article présentera les compétences de développement de PHP et JS, amènera les lecteurs à comprendre comment dessiner des graphiques en bougies boursières et fournira des exemples de code spécifiques. 1. Comprendre les graphiques en bougies boursières Avant de présenter comment dessiner des graphiques en bougies boursières, nous devons d'abord comprendre ce qu'est un graphique en bougies. Les graphiques en chandeliers ont été développés par les Japonais

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.

See all articles