


En tant qu'instinct professionnel de fanatiques de technologie, lorsque je vois les fonctions d'un produit technique, je ne peux m'empêcher de me demander comment il est mis en œuvre. Par exemple, chaque fois que je vois une interface intéressante ou une fonction intéressante sur le site Web de quelqu'un d'autre, je ne peux m'empêcher d'ouvrir la console du navigateur. . .
D'accord, sans aller trop loin, parlons de ce que vous devez faire lorsque vous souhaitez voir le code d'une fonction événementielle liée à un élément du site Web.
Afficher le code de la fonction d'événement lié de manière native
Le soi-disant natif consiste à se lier à l'élément dom via la méthode addEventListener. C'est facile à faire :
Inspectez l'élément lié à l'événement (clic droit dessus ->Inspecter l'élément) Dans la console de la vue contextuelle Éléments, cliquez sur l'onglet "Écouteurs d'événement" sur le côté droit et vous pourrez alors voir tous les éléments liés à l'élément. Lorsque l'événement se produit, cliquez dessus, recherchez le gestionnaire, cliquez avec le bouton droit de la souris et sélectionnez le menu "Afficher la définition de la fonction". Vous pouvez accéder à l'emplacement du code source de la fonction d'événement liée à l'élément. Il y a des images et la vérité :
Afficher le code de la fonction d'événement lié par jquery
Eh bien, je sais, vous avez rencontré un problème, n'est-ce pas ? Pour toutes les fonctions d'événement liées par jquery, vous accéderez au code jquery via la méthode ci-dessus, et il sera toujours à cet endroit. Le voir équivaut à ne pas le voir. Par conséquent, frère Bao est là pour vous apprendre à visualiser jquery.
Pour inspecter également l'élément, cliquez sur la vue "Propriétés". Sélectionnez le premier, développez-le et trouvez un attribut comme 'jQueryxxxxx (une chaîne de nombres)', souvenez-vous de sa valeur (généralement un nombre) N
Passez ensuite à la vue Console à gauche et exécutez $.cache[N]
dans la console N voici la valeur d'attribut précédente
Ensuite, les choses liées à cet élément sortiront. Développez les événements et vous verrez la fonction réelle que vous souhaitez afficher. Cliquez avec le bouton droit sur la fonction... après le handle sous l'événement spécifique, puis sélectionnez "Afficher la définition de la fonction" pour le voir.
Exemple=》http://demo.sudodev.cn/frontend/jqDetectAfficher le code de la fonction d'événement lié à la version jquery2.x
D'accord, je sais, vous avez dû encore rencontrer des problèmes. Parce que lorsque vous utilisez la version jquery2.x de jquery, la méthode ci-dessus ne fonctionnera plus. La raison en est que la structure du code de 2.x a changé. En fait, les événements de la version 2.x utilisent toujours le mécanisme de cache, mais ils ne sont pas exposés à l'extérieur comme la version 1.x. Au lieu de cela, ils sont encapsulés et existent dans l'objet de fermeture data_priv et dans la version compressée de. jquery est généralement utilisé, vous ne pouvez pas afficher ce nom data_priv. Ainsi après avoir vérifié le code source de la version jquery2.x, Brother Bao vous apprend à le localiser :
Accédez directement à la console et construisez un objet contenant jQuery pour afficher jQuery dans la console. Par exemple, saisissez var o={j:$}
. L'avantage est que vous pouvez afficher toutes les propriétés de jQuery
Ensuite, développez l'objet jQuery (voici j) dans la console, recherchez la méthode _queueHooks et voyez que son code est probablement "return L.get(a,c)||L.access...", marquez Vivre dans ce L peut être ou non L)
Développez n'importe quel objet de premier niveau en dessous de j, tel que _queueHooks ci-dessus, recherchez Développer, puis développez Fermeture ci-dessous, recherchez le distique "L" devant, faites un clic droit sur la lettre derrière et sélectionnez "Stocker en tant que variable globale »
Ensuite, un objet tempX est affiché dans la console, qui contient le cache. Disons que cela s'appelle temp1. Ce temp1 a une méthode get qui peut obtenir directement son objet cache. Supposons que vous souhaitiez afficher l'identifiant de l'objet lié à l'événement appelé clickMe. Ensuite, exécutez temp1.get($('#clickMe').get(0))
(ou temp1.get(document.querySelector('#clickMe'))
)) et il affichera quelque chose d'équivalent à la version jquery1.x ci-dessus
L'exemple suivant est le même que la méthode jquery1.x ci-dessus=》http://demo.sudodev.cn/frontend/jq2DetectAnother :
Les opérations ci-dessus sont effectuées par défaut sous le navigateur Chrome. En fait, c'est similaire sous Firefox. Je pense qu'en tant que technicien, vous devriez pouvoir tirer des conclusions à partir d'un exemple. Quant à IE, euh... faites comme si je ne l'avais pas dit. :)
Mise à jour :
1. Afin d'éviter la vérification des attributs, jquery1.x peut exécuter directement $.cache[$('#clickMe').get(0)[$.expando]]
sur la console pour afficher les éléments liés à l'élément, au lieu de vérifier d'abord la valeur de l'attribut jQueryxxxxxxx sur l'élément
2. Après une revue et un test d'article. Il existe une nouvelle méthode qui est actuellement la plus économique et applicable à jquery1 et jquery2. Entrez $._data($('#clickMe').get(0))
directement dans la console pour afficher tout ce qui est lié à l'élément. Cependant, d'après les commentaires dans le code source de jquery2, nous avons constaté que $._data sera supprimé dans les versions futures. La méthode présentée ci-dessus reste donc très utile. Il vaut mieux apprendre aux gens à pêcher que de leur apprendre à pêcher, :)

实现方法:1、用“$("img").delay(毫秒数).fadeOut()”语句,delay()设置延迟秒数;2、用“setTimeout(function(){ $("img").hide(); },毫秒值);”语句,通过定时器来延迟。

区别:1、axios是一个异步请求框架,用于封装底层的XMLHttpRequest,而jquery是一个JavaScript库,只是顺便封装了dom操作;2、axios是基于承诺对象的,可以用承诺对象中的方法,而jquery不基于承诺对象。

修改方法:1、用css()设置新样式,语法“$(元素).css("min-height","新值")”;2、用attr(),通过设置style属性来添加新样式,语法“$(元素).attr("style","min-height:新值")”。

增加元素的方法:1、用append(),语法“$("body").append(新元素)”,可向body内部的末尾处增加元素;2、用prepend(),语法“$("body").prepend(新元素)”,可向body内部的开始处增加元素。

在jquery中,apply()方法用于改变this指向,使用另一个对象替换当前对象,是应用某一对象的一个方法,语法为“apply(thisobj,[argarray])”;参数argarray表示的是以数组的形式进行传递。

删除方法:1、用empty(),语法“$("div").empty();”,可删除所有子节点和内容;2、用children()和remove(),语法“$("div").children().remove();”,只删除子元素,不删除内容。

on()方法有4个参数:1、第一个参数不可省略,规定要从被选元素添加的一个或多个事件或命名空间;2、第二个参数可省略,规定元素的事件处理程序;3、第三个参数可省略,规定传递到函数的额外数据;4、第四个参数可省略,规定当事件发生时运行的函数。

去掉方法:1、用“$(selector).removeAttr("readonly")”语句删除readonly属性;2、用“$(selector).attr("readonly",false)”将readonly属性的值设置为false。


Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.

SublimeText3 version anglaise
Recommandé : version Win, prend en charge les invites de code !

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),