Я пытаюсь сделать функцию, если Enter нажата на конкретном входе.
Что я делаю не так?
$(document).keyup(function (e) {
if ($(".input1").is(":focus") && (e.keyCode == 13)) {
// Do something
}
});
Есть ли лучший способ сделать это, который сказал бы, если Enter нажал на .input1
сделать функцию?
javascript
jquery
jQuerybeast
источник
источник
Ответы:
источник
event.keyCode
естьNumber
, поэтому JavaScript будет делать те же шаги с==
или===
.which
,code
,charCode
иkeyCode
осуждаются developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent , пожалуйста , добавить актуальную информацию на ваш ответ.event.key === "Enter"
Более свежее и намного чище: используйте
event.key
. Нет больше произвольных числовых кодов!Если вы должны использовать jQuery:
Mozilla Docs
Поддерживаемые браузеры
источник
Или просто привязать к самому входу
Чтобы выяснить, какой код ключа вам нужен, используйте сайт http://keycode.info
источник
Попробуйте это, чтобы обнаружить
Enter
нажатие клавиши в текстовом поле.источник
Возможно, будет слишком поздно, чтобы ответить на этот вопрос. Но следующий код просто запрещает вводить ключ. Просто скопируйте и вставьте должно работать.
источник
Лучший способ, который я нашел, - это использовать
keydown
(уkeyup
меня это плохо работает).Примечание: я также отключил отправку формы, потому что обычно, когда вам нравится выполнять какие-то действия при нажатии клавиши Enter, единственное, что вам не нравится, это отправка формы :)
источник
Решение, которое работает для меня, заключается в следующем
источник
Попробуйте это, чтобы обнаружить нажатие клавиши Enter в текстовом поле.
DEMO
источник
источник
Этот код обрабатывал каждый ввод для меня на всем сайте. Он проверяет наличие клавиши ВВОДА внутри поля ВВОДА и не останавливается на TEXTAREA или других местах.
источник