Chcę, aby moje pytanie jasne. Proszę nie mylić go z ustaleniem naciśnięcia klawisza. Nie chcę, aby użytkownik nacisnął dowolny klawisz. Wręcz przeciwnie, chcę uruchomić skrypt, który uruchamia naciśnięcie klawisza Escape. Proszę o pomoc!Wywołanie zdarzenia Escape naciśnij klawisz przez jquery
Odpowiedz
Można użyć $.Event()
stworzyć obiekt Event zawierający keyDown z keyCode 27 (który powinien być Esc), jak:
var esc = $.Event("keydown", { keyCode: 27 });
$("body").trigger(esc); // change body to the element where you'd like to execute the escape key press.
Zobacz this working demo i docs at jquery.com
Należy również zauważyć, że, jak stwierdził Christofer, może to nie działać we wszystkich przeglądarkach i środowiskach, ponieważ może być uznane za shady Zachowanie, które może być może być używane w niebezpieczny sposób - podobnie jak wyzwalanie zdarzenia kliknięcia na <a>
z zewnętrznym hrefem will not happen. Z powodzeniem przetestowałem to (Esc) w Chrome, Safari, Opera, FF & IE9.
Ze względów bezpieczeństwa niektóre przeglądarki (nie wiem, czy wszystkie), zapobiegają wystrzeliwaniu zdarzeń kluczowych. Aby uzyskać więcej informacji, patrz: this article.
Cytat z artykułu:
Safari/Chrome sprawia właściwości keyCode i charCode tylko do odczytu, więc nie jest możliwe, aby symulować konkretne klawisze podczas ręcznego zwalniania wydarzenia.
Dzięki Christofer – Lakshay
To jest najlepsze rozwiązanie do tej pory! – Khateeb321