JQuery: как вызвать событие click при нажатии клавиши ввода
Мне нужно выполнить событие нажатия кнопки при нажатии клавиши ввода.
Так как в данный момент событие не срабатывает.
Пожалуйста, помогите мне с синтаксисом, если это возможно.
$(document).on("click", "input[name='butAssignProd']", function () {
//all the action
});
Это моя попытка активировать событие click для ввода.
$("#txtSearchProdAssign").keydown(function (e) {
if (e.keyCode == 13) {
$('input[name = butAssignProd]').click();
}
});
Ответы
Ответ 1
попробуйте это....
$('#txtSearchProdAssign').keypress(function (e) {
var key = e.which;
if(key == 13) // the enter key code
{
$('input[name = butAssignProd]').click();
return false;
}
});
$(function() {
$('input[name="butAssignProd"]').click(function() {
alert('Hello...!');
});
//press enter on text area..
$('#txtSearchProdAssign').keypress(function(e) {
var key = e.which;
if (key == 13) // the enter key code
{
$('input[name = butAssignProd]').click();
return false;
}
});
});
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
<textarea id="txtSearchProdAssign"></textarea>
<input type="text" name="butAssignProd" placeholder="click here">
</body>
</html>
Ответ 2
Попробуйте это
$('#twitterSearch').keydown(function(event){
var keyCode = (event.keyCode ? event.keyCode : event.which);
if (keyCode == 13) {
$('#startSearch').trigger('click');
}
});
Надеюсь, это поможет вам
Ответ 3
$('#txtSearchProdAssign').keypress(function (e) {
if (e.which == 13) {
$('input[name = butAssignProd]').click();
return false;
}
});
Я также просто нашел Отправка формы на 'Enter', которая полностью охватывает большинство проблем.
Ответ 4
Ты был почти там. Вот что вы можете попробовать.
$(function(){
$("#txtSearchProdAssign").keyup(function (e) {
if (e.which == 13) {
$('input[name="butAssignProd"]').trigger('click');
}
});
});
Я использовал trigger()
, чтобы выполнить щелчок и привязать его к событию keyup
insted из keydown
, потому что click
событие состоит из двух событий, т.е. mousedown
, затем mouseup
. Поэтому, чтобы походить на вещи, насколько это возможно, с keydown
и keyup
.
Вот Демо
Ответ 5
Вы пытаетесь имитировать нажатие на кнопку при нажатии клавиши ввода? Если это так, вам может понадобиться использовать синтаксис trigger
.
Попробуйте изменить
$('input[name = butAssignProd]').click();
к
$('input[name = butAssignProd]').trigger("click");
Если это не проблема, попробуйте второй раз взглянуть на ваш синтаксис захвата ключа, посмотрев на решения в этой статье: jQuery Event Keypress: Какой ключ был нажат?
Ответ 6
Еще одно дополнение:
Если вы динамически добавляете ввод, например, используя append()
, вы должны использовать функцию jQuery on()
.
$('#parent').on('keydown', '#input', function (e) {
var key = e.which;
if(key == 13) {
alert("enter");
$('#button').click();
return false;
}
});
UPDATE:
Еще более эффективным способом сделать это будет использование оператора switch. Вы можете найти его более чистым.
Разметка:
<div class="my-form">
<input id="my-input" type="text">
</div>
JQuery
$('.my-form').on('keydown', '#my-input', function (e) {
var key = e.which;
switch (key) {
case 13: // enter
alert('Enter key pressed.');
break;
default:
break;
}
});
Ответ 7
Попробуйте это
<button class="click_on_enterkey" type="button" onclick="return false;">
<script>
$('.click_on_enterkey').on('keyup',function(event){
if(event.keyCode == 13){
$(this).click();
}
});
<script>
Ответ 8
Просто включите функцию preventDefault() в код,
$("#txtSearchProdAssign").keydown(function (e) {
if (e.keyCode == 13) {
e.preventDefault();
$('input[name = butAssignProd]').click();
}
});
Ответ 9
keyup
лучше, чем keypress
, чтобы получить содержимое входного файла.
Ответ 10
Jquery: событие нажатия кнопки "огонь". Использование кнопки ввода.
попробуйте это ::
tabindex = "0" onkeypress = "return EnterEvent (event)"
<!--Enter Event Script-->
<script type="text/javascript">
function EnterEvent(e) {
if (e.keyCode == 13) {
__doPostBack('<%=btnSave.UniqueID%>', "");
}
}
</script>
<!--Enter Event Script-->
Ответ 11
Вы можете использовать этот код
$(document).keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
alert('You pressed a ENTER key.');
}
});
Ответ 12
Теперь это поведение по умолчанию, поэтому достаточно:
$("#press-enter").on("click", function(){alert("You `clicked' or 'Entered' me!")})
Вы можете попробовать его в этом JSFiddle
Протестировано: Chrome 56.0 и Firefox (Dev Edition) 54.0a2, оба с jQuery 2.2.x и 3.x