Je voudrais voir tous les événements déclenchés par un champ d'entrée lorsqu'un utilisateur interagit avec lui. Cela comprend des choses comme:
- En cliquant dessus.
- En cliquant dessus.
- Tabbing dedans.
- Tabbing loin de lui.
- Ctrl+ Cet Ctrl+ Vsur le clavier.
- Faites un clic droit -> Coller.
- Faites un clic droit -> Couper.
- Faites un clic droit -> Copier.
- Glisser-déposer du texte depuis une autre application.
- Le modifier avec Javascript.
- Le modifier avec un outil de débogage, comme Firebug.
Je voudrais l'afficher en utilisant console.log
. Est-ce possible dans Javascript / jQuery, et si oui, comment puis-je le faire?
javascript
jquery
events
dom-events
Daniel T.
la source
la source
Réponses:
Cela vous donnera beaucoup (mais pas toutes) d'informations sur le déclenchement d'un événement ... à part le coder manuellement comme ça, je ne peux penser à aucun autre moyen de le faire.
la source
function
, et de la même manière :).blur
à votre liste d'événements.Je ne sais pas pourquoi personne n'utilise ça ... (peut-être parce que ce n'est qu'un truc web)
Ouvrez la console:
la source
monitorEvents
ne donne aucune information pertinente à ce sujet, aussi, je soupçonne fortement que c'est très non standardmonitorEvents($0, 'mouse');
pour enregistrer tous les événements d'un élément inspecté (clic droit> «Inspecter»). ( briangrinstead.com/blog/chrome-developer-tools-monitorevents )Il existe une belle manière générique d'utiliser la collection .data ('events'):
Cela enregistre chaque événement qui a déjà été lié à l'élément par jQuery au moment où cet événement spécifique est déclenché. Ce code m'a été très utile à plusieurs reprises.
Btw: Si vous voulez voir tous les événements possibles être déclenchés sur un objet, utilisez firebug: faites un clic droit sur l'élément DOM dans l'onglet html et cochez "Log Events". Chaque événement est ensuite enregistré sur la console (c'est parfois un peu ennuyeux car il enregistre chaque mouvement de la souris ...).
la source
la source
Je sais que la réponse a déjà été acceptée, mais je pense qu'il pourrait y avoir un moyen un peu plus fiable où vous ne devez pas nécessairement connaître le nom de l'événement à l'avance. Cela ne fonctionne que pour les événements natifs pour autant que je sache, pas pour ceux personnalisés qui ont été créés par des plugins. J'ai choisi d'omettre l'utilisation de jQuery pour simplifier un peu les choses.
J'espère que cela aidera quiconque lit ceci.
ÉDITER
J'ai donc vu une autre question ici qui était similaire, donc une autre suggestion serait de faire ce qui suit:
la source
Vieux fil, je sais. J'avais aussi besoin de quelque chose pour surveiller les événements et j'ai écrit cette (excellente) solution très pratique. Vous pouvez surveiller tous les événements avec ce hook (dans la programmation Windows, cela s'appelle un hook). Ce hook n'affecte pas le fonctionnement de votre logiciel / programme.
Dans le journal de la console, vous pouvez voir quelque chose comme ceci:
Explication de ce que vous voyez:
Dans le journal de la console, vous verrez tous les événements que vous sélectionnez (voir ci-dessous "comment utiliser" ) et affichez le type d'objet, le (s) nom (s) de classe, l'ID, <: nom de la fonction>, <: eventname>. La mise en forme des objets est de type CSS.
Lorsque vous cliquez sur un bouton ou sur tout événement lié, vous le verrez dans le journal de la console.
Le code que j'ai écrit:
Exemples comment l'utiliser:
Surveillez tous les événements:
Surveiller uniquement tous les déclencheurs:
Surveiller uniquement tous les événements ON:
Surveiller tous les dissociations OFF uniquement:
Remarques / avis:
J'espère que ça aide! ;-)
la source
https://github.com/robertleeplummerjr/wiretap.js
la source
HTMLElement.prototype.addEventListener
et ne devrait probablement pas être utilisé en production, mais il m'a déjà été d'une grande aide à des fins de débogage.Ajoutez simplement ceci à la page et pas d'autres soucis, gérera le repos pour vous:
Vous pouvez également utiliser console.log ('Input event:' + e.type) pour vous faciliter la tâche.
la source
function
, et de la même manière :).$('input').data('events')
et ça retourne indéfini.ÉTAPE 1: Recherchez
events
unHTML element
sur ledeveloper console
:ÉTAPE 2: Écoutez ce que
events
nous voulons capturer:Bonne chance...
la source
J'ai récemment trouvé et modifié cet extrait d'un article SO existant que je n'ai pas pu retrouver mais je l'ai trouvé très utile
la source
Cela utilise un peu d'ES6 pour la beauté, mais peut également être facilement traduit pour les anciens navigateurs. Dans la fonction associée aux écouteurs d'événements, il s'agit actuellement de déconnecter simplement le type d'événement qui s'est produit, mais c'est ici que vous pouvez imprimer des informations supplémentaires, ou en utilisant un boîtier de commutation sur le
e.type
, vous ne pouvez imprimer des informations que sur des événements spécifiquesla source
Voici un moyen non jquery de surveiller les événements dans la console avec votre code et sans utiliser monitorEvents () car cela ne fonctionne que dans Chrome Developer Console. Vous pouvez également choisir de ne pas surveiller certains événements en modifiant le tableau no_watch.
la source