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