Souvent, je souhaite inspecter un élément (par exemple, une info-bulle) qui n'apparaît que lorsqu'un autre élément est survolé/saisi. L'élément qui apparaît est rendu visible via l'événement mouseenter de jQuery.
Je ne peux pas inspecter l'info-bulle, car l'info-bulle disparaît lorsque ma souris quitte l'élément conteneur.
Existe-t-il un moyen de suspendre les événements JS pour que je puisse survoler l'élément, puis mettre en pause le JS du navigateur et l'inspecter avec succès?
Pour un exemple, essayez d'inspecter les info-bulles de Twitter bootstrap: http://getbootstrap.com/javascript/#tooltips .
C'est assez facile dans Chrome 38.0.2094.0.
Voici à quoi cela ressemblera:
Pas à pas:
Si l'info-bulle s'affiche à cause de CSS, voici ce que vous pouvez faire dans ce cas:
Pas à pas:
L'inspecteur Web de Safari et de Chrome propose des cases à cocher où vous pouvez basculer le :active
, :focus
, :hover
et :visited
état d'un élément. Leur utilisation pourrait être encore plus facile.
Safari:
Chrome:
Il y a aussi une autre façon délicate de le faire:
Votre info-bulle restera visible, vous pourrez alors l'inspecter dans l'onglet Elément.
Testé sur Chrome. Ne semble pas fonctionner sur Firefox.
Alors que réponse de @ SomeGuy est excellent (t-up pour les gifs animés), comme alternative, vous pouvez toujours le faire par programme. Ouvrez simplement la console et saisissez le nom de l'événement
document.getElementById('id').dispatchEvent(new Event('event-type'));
(avec une syntaxe spécifique à javascript pur peut varier selon le navigateur)
Encore plus facile avec jQuery:
$('#id').trigger('event-type');
Dans votre exemple ( http://getbootstrap.com/javascript/#tooltips ), ouvrez la console et tapez, par exemple:
$("button:contains('Tooltip on right')").mouseenter();
Et l'info-bulle apparaît dans le DOM et peut être inspectée/modifiée manuellement:
<div style="top: 14406.9px; left: 1048.25px; display: block;"
id="tooltip952596" class="tooltip fade right in" role="tooltip">
<div style="" class="tooltip-arrow"></div>
<div class="tooltip-inner">Tooltip on right</div></div>
Comme dans les commentaires, si vous déplacez le pointeur de la souris sur le cadre de la page, vous pouvez déclencher d'autres événements tels que mouseout
. Pour éviter cela, vous pouvez appuyer sur F8 (comme dans la réponse) ou tapez debugger;
(qui est son équivalent de script)