2011-06-20 17 views
12

skrócie, mój problem jest to, że chciałbym, aby wykonać działanie Esc przycisku przez linię javascript, na przykład wykonać efekt OnClick przycisku Esc. Jak mogę to zrobić?Execute OnClick ESC

[Co mam jest przesłać w pudełku jQuery, więc chciałbym, że gdy przesyłanie zakończy się, funkcja ucieczki będą wykonywane automatycznie, aby zamknąć okno]

+1

Nie ma metody, którą można wywołać w celu zamknięcia okna dialogowego? –

+0

@HAMZA Czy możesz nam powiedzieć, jak pomogła wybrana odpowiedź? Dla mnie zdecydowanie chodzi o "emulowanie kluczowego uderzenia" (szczególnie "esc"), podczas gdy odpowiedź @Nathan polega na ** uchwyceniu ** klucza 'esc', co wymaga od użytkownika ręcznego wpisania. Zaakceptowaną odpowiedzią powinna być odpowiedź @Juan. Albo to, albo OP całkowicie zadał niewłaściwe pytanie! – bPratik

+0

@bPratik Jeśli zobaczysz mój komentarz pod zaakceptowaną odpowiedzią, ta odpowiedź prawdopodobnie nie zadziałałaby, ponieważ opiera się na innym kodowaniu nasłuchującym zdarzenia 'escapeKeyPressed'. Wierzę, że OP chciał tylko wiedzieć, jak zamknąć okno dialogowe, a komentarz Nathana ('$ ('# myDialog'). Trigger (" dialogClose ")') pokazał OP, jak to zrobić. –

Odpowiedz

2

Ten kod działa dla mnie

$(document).keyup(function(e) {  
    if(e.keyCode== 27) { 
     alert('Esc key is press'); 
    } 
}); 
+2

To wykrywa, a nie symuluje naciśnięcia klawisza. –

14

Wiem, że to stare pytanie. Jednak jeśli ktoś ląduje tu w wyszukiwarce, może to pomoże:

pierwsze, wyzwalać na pożądanym elementem (lub dokumentu),

$('a[name=close]').click(function(){ 
    var e = jQuery.Event("keyup"); // or keypress/keydown 
    e.keyCode = 27; // for Esc 
    $(document).trigger(e); // trigger it on document 
}); 

a następnie mają słuchacza keyup na dokument:

// Esc key action 
$(document).keyup(function(e) { 
    if (e.keyCode == 27) { // Esc 
     window.close(); // or whatever you want 
    } 
});