web-dev-qa-db-fra.com

Enregistrer ou consigner tous les événements DOM/JQuery du navigateur

J'ai eu un problème de nécessité de faire certaines choses par programme (en javascript) qui se passaient dans un composant tiers après avoir été déclenchées par certains événements du navigateur (clic, focus,?). Je ne connaissais pas le type d'événement, l'élément auquel l'événement était lié ou les paramètres appropriés. 

-Essayé de définir des points d'arrêt Chrome sur les modifications de la sous-arborescence, mais rien n'a fonctionné.
- J'ai essayé de rechercher des événements jQuery, mais les données ('événements') n'ont rien révélé d'utile. Ils devaient utiliser des événements DOM.

Ne devrait-il pas y avoir un moyen d'enregistrer/capturer/consigner tous les événements dans un navigateur, puis de les vérifier (ou même de les lire)? Cela semble être le seul moyen de savoir ce que je veux savoir.

25
skeej

Oui Chrome peut :)

  1. Ouvrez vos "Outils de développement" (Ctrl + Maj + I)/dans le menu Clé à molette/ou cliquez sur la page avec le bouton droit de la souris et cliquez sur "Inspecter l'élément".
  2. Allez dans l'onglet "Chronologie".
  3. Cliquez sur le petit bouton Enregistrer en bas.
  4. Actualiser la page.

Il vous montrera tous les événements de chargement (en jaune) ainsi que AJAX événements qui se produisent lorsque vous passez la souris sur un élément, etc.

À votre santé ;)

32
Chiramisu

Dans Chrome, vous pouvez utiliser monitorEvents() dans la console des outils de développement pour enregistrer tous les événements que vous souhaitez surveiller déclenchés lors de votre test.

0
Quintus Chen