Ответ 1
$(".input1").on('keyup', function (e) {
if (e.keyCode === 13) {
// Do something
}
});
//keyup not compatible with Jquery select(), Keydown is.
Я пытаюсь выполнить функцию, если вводится нажатие на конкретном входе.
Что я делаю неправильно?
$(document).keyup(function (e) {
if ($(".input1").is(":focus") && (e.keyCode == 13)) {
// Do something
}
});
Есть ли лучший способ сделать это, что бы сказать, если ввести нажатие на .input1
выполнить функцию?
$(".input1").on('keyup', function (e) {
if (e.keyCode === 13) {
// Do something
}
});
//keyup not compatible with Jquery select(), Keydown is.
Более свежая и более event.key
: используйте event.key
. Нет больше произвольных числовых кодов!
const node = document.getElementsByClassName(".input")[0];
node.addEventListener("keyup", function(event) {
if (event.key === "Enter") {
// Do work
}
});
Если вы должны использовать jQuery:
$(document).keyup(function(event) {
if ($(".input1").is(":focus") && event.key == "Enter") {
// Do work
}
});
$(document).keyup(function (e) {
if ($(".input1:focus") && (e.keyCode === 13)) {
alert('ya!')
}
});
Или просто привяжите сам вход
$('.input1').keyup(function (e) {
if (e.keyCode === 13) {
alert('ya!')
}
});
Чтобы выяснить, какой ключевой код вам нужен, используйте веб-сайт http://keycode.info
Попробуйте это, чтобы обнаружить клавишу Enter
, нажатую в текстовом поле.
$(function(){
$(".input1").keyup(function (e) {
if (e.which == 13) {
// Enter key pressed
}
});
});
Возможно, слишком поздно ответить на этот вопрос. Но следующий код просто предотвращает ввод ключа. Просто копировать и вставлять следует работать.
<script type="text/javascript">
function stopRKey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && (node.type=="text")) {return false;}
}
document.onkeypress = stopRKey;
</script>
Лучший способ, которым я нашел, - использовать keydown
(keyup
не работает хорошо для меня).
Примечание. Я также отключил отправку формы, потому что обычно, когда вам нравится делать какие-либо действия при нажатии Enter Key, единственное, что вам не нравится, это отправить форму:)
$('input').keydown( function( event ) {
if ( event.which === 13 ) {
// Do something
// Disable sending the related form
event.preventDefault();
return false;
}
});
Решение, которое работает для меня, заключается в следующем
$("#element").addEventListener("keyup", function(event) {
if (event.key === "Enter") {
// do something
}
});
Попробуйте это, чтобы обнаружить нажатие клавиши Enter в текстовом поле.
$(document).on("keypress", "input", function(e){
if(e.which == 13){
alert("Enter key pressed");
}
});
$(document).ready(function () {
$(".input1").keyup(function (e) {
if (e.keyCode == 13) {
// Do something
}
});
});
$('.input1').keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
//do whatever you want on ENTER click
}
});