Вызов события нажатия клавиши Escape с помощью jquery
Я хочу прояснить свой вопрос. Пожалуйста, не путайте его с определением нажатия клавиши. Я не хочу, чтобы пользователь нажал любую клавишу. Напротив, я хочу запустить скрипт, который запускает событие нажатия клавиши Escape. Пожалуйста, помогите!
2 ответов
можно использовать $.Event()
чтобы создать объект события, содержащий событие keydown с кодом ключа 27 (который должен быть Esc), например:
var esc = $.Event("keydown", { keyCode: 27 });
$("body").trigger(esc); // change body to the element where you'd like to execute the escape key press.
посмотреть этот рабочая демо и документы на jquery.com
также обратите внимание, что, как заявил Кристофер, это может не работать во всех браузерах и средах, как это может считаться тенистых поведение мог бы использоваться в вредоносный способ-так же, как запуск события click на <a>
С внешним href не будет. Я успешно протестировал это (Esc) в Chrome, Safari, Opera, FF & IE9.
по соображениям безопасности некоторые браузеры (не уверены, что все) не позволяют запускать события keydown. Пожалуйста, обратитесь к в этой статье для получения дополнительной информации.
цитата из статьи:
Safari / Chrome делает свойства keyCode и charCode доступными только для чтения, поэтому невозможно имитировать определенные клавиши при ручной стрельбе события.