Je découvre que l’appel location.reload () ne fait rien quand je l’ai appelé depuis le gestionnaire d’événements keyDown lorsque le bouton ESC est enfoncé. Est-ce que quelqu’un sait comment contourner le problème pour recharger la page? Aussi, je trouve http://bugs.jqueryui.com/ticket/4922 et il semble que ce problème est déjà résolu. Voici un exemple de code. inscription à l’événement:
jQuery(document).keydown(function (event) { if (event.keyCode == 27) { closeVideoPopup(); } });
Et la méthode closeVideoPopup ():
function closeVideoPopup() { jQuery('#fade, .window_container').fadeOut(function(){ jQuery('#fade, a.close').remove(); }); jQuery('ul.tabs').css('z-index', '99'); jQuery('div.framing_slider').css('z-index', '9999'); location.reload(); return false;
}
Veuillez noter que ce code fonctionne parfaitement dans tous les navigateurs, sauf FF .
En effet, la touche Échap arrête l’actualisation immédiatement après l’avoir activée dans Firefox.
Utilisez un setTimeout
pour que location.reload()
s’exécute après la fin de la diffusion de l’événement.
jQuery(document).keydown(function (event) { if (event.keyCode == 27) { setTimeout(closeVideoPopup, 0); } });
Violon
Ou mieux, appelez event.preventDefault()
pour que la touche Echap n’annule pas le rechargement de la page:
jQuery(document).keydown(function (event) { if (event.keyCode == 27) { event.preventDefault(); closeVideoPopup(); } });
Violon