2012-04-09 29 views

Respuesta

24

Puede utilizar $.Event() para crear un objeto de evento que contiene un evento KeyDown con el código clave de 27 (que debe ser Esc) como:

var esc = $.Event("keydown", { keyCode: 27 }); 
$("body").trigger(esc); // change body to the element where you'd like to execute the escape key press. 

Ver this working demo y la docs at jquery.com

También tenga en cuenta que, como afirma Christofer, es posible que esto no funcione en todos los navegadores y entornos, ya que podría considerarse Con sombra Comportamiento que podría ser usado de manera maliciosa - al igual que desencadenar un evento de clic en un <a> con un href externo will not happen. Probé esto con éxito (el Esc) en Chrome, Safari, Opera, FF & IE9.

+0

¡Esta es la mejor solución hasta ahora! – Khateeb321

7

Por razones de seguridad, algunos navegadores (no estoy seguro si todo), le impiden disparar eventos de paro. Consulte this article para obtener más información.

Una cita del artículo:

Safari/Chrome hace que las propiedades keyCode y charCode de sólo lectura, por lo no es posible simular teclas específicas al disparar manualmente eventos.

+0

Gracias Christofer – Lakshay

Cuestiones relacionadas