При нажатии клавиши ES C я хочу найти атрибут href ссылки и перенаправить на нее. Я использую следующий код, он работает, однако он не согласован , и я не могу понять, почему.
На странице есть значения формы ввода, если курсор находится в некоторой части ввода поле и клавиша ES C нажата, значит она не работает. Однако, как ни странно, если я добавляю оповещение в коде jquery, то оно показывает оповещение и также перенаправляет.
Как я могу сделать так, чтобы оно перенаправлялось, даже когда часть поля ввода сфокусирована?
$(document).ready(function() {
$(document).keydown(function(e) {
var code = (e.keyCode ? e.keyCode : e.charCode);
if (e.keyCode == 27) {
var href = $('a').attr('href');
alert(href); //notice this alert
if (href) {
$(location).attr("href", href);
}
}
});
});
В приведенном выше коде обратите внимание на предупреждение . Он работает, если есть предупреждение, если я удалю эту строку, он не работает. Вот демо. (Я проверял только на Firefox).
JSFiddle: https://jsfiddle.net/3q56atsm/