web-dev-qa-db-ja.com

Jquery:enterキーを押したときにクリックイベントを発生させる方法

キーを押したときにボタンクリックイベントを実行する必要があります。

現在のところ、イベントは発生していません。

可能であれば構文について教えてください。

$(document).on("click", "input[name='butAssignProd']", function () {
   //all the action
});

これは私がエンター時にクリックイベントを発生させる試みです。

$("#txtSearchProdAssign").keydown(function (e) {
  if (e.keyCode == 13) {
    $('input[name = butAssignProd]').click();
  }
});
139
Arianule

これを試してみてください....

$('#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>

jsbin.comでデモを探す

266
Vijay

これを試して

$('#twitterSearch').keydown(function(event){ 
    var keyCode = (event.keyCode ? event.keyCode : event.which);   
    if (keyCode == 13) {
        $('#startSearch').trigger('click');
    }
});

あなたに役立つことを願っています

24
Neeraj Dubey
$('#txtSearchProdAssign').keypress(function (e) {
  if (e.which == 13) {
    $('input[name = butAssignProd]').click();
    return false;  
  }
});

私はまた、 'Enter' のフォームを提出して、問題の大部分を包括的にカバーしているところを見つけました。

11
geekchic

あなたはほとんどそこにいました。これはあなたが試してみることができるものです。

$(function(){
  $("#txtSearchProdAssign").keyup(function (e) {
    if (e.which == 13) {
      $('input[name="butAssignProd"]').trigger('click');
    }
  });
});

keyupイベントは実際には2つのイベント、つまりkeydownclickで構成されているため、 trigger() を使用してクリックを実行し、mousedownからのmouseupイベントにバインドします。そのため、keydownkeyupで可能な限り同じものに似ています。

これが デモです

5
Rohit416

作るためのもう一つの追加:

たとえばappend()を使用して動的に入力を追加する場合は、jQueryのon()関数を使用する必要があります。

$('#parent').on('keydown', '#input', function (e) {
    var key = e.which;
    if(key == 13) {
        alert("enter");
        $('#button').click();
        return false;
    }
});

更新:

これを行うさらに効率的な方法は、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;
  }
});
3
Daniel Dewhurst

エンターキーが押されたときにボタンのクリックを模倣しようとしていますか?もしそうなら、あなたはtrigger構文を使う必要があるかもしれません。

変更してみてください

$('input[name = butAssignProd]').click();

$('input[name = butAssignProd]').trigger("click");

これで問題が解決しない場合は、この記事の解決策を見て、キーキャプチャの構文をもう一度見てみてください。 jQuery Event Keypress:どのキーが押されましたか?

3
Shaun

これを試して

<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>
1
Vishnu Prasad

コードにpreventDefault()関数を含めるだけです。

       $("#txtSearchProdAssign").keydown(function (e) {
       if (e.keyCode == 13) {
       e.preventDefault();
       $('input[name = butAssignProd]').click();
        }
        });
0
Arron

入力ファイルの内容を取得するには、keyupの方がkeypressより優れています。

0
hobbydev

Jquery:Fire Button clickイベントenterボタンを押してこれを試してみてください::

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-->
0
JIYAUL MUSTAPHA