web-dev-qa-db-fra.com

Jquery: comment déclencher un événement clic en appuyant sur la touche Entrée

Je dois exécuter un événement de clic sur un bouton en appuyant sur la touche Entrée. 

En l'état actuel des choses, l'événement ne se déclenche pas.

S'il vous plaît, aidez-moi avec la syntaxe si possible.

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

c’est ma tentative de déclencher un événement de clic lors de son entrée.

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

essayez ceci ....

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


Rechercher une démo dans jsbin.com

260
Vijay

Essaye ça

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

J'espère que ça vous aide

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

Je viens également de trouver Envoi d'un formulaire sur «Entrée» qui couvre la plupart des problèmes de manière exhaustive.

9
geekchic

Vous étiez presque là. Voici ce que vous pouvez essayer cependant.

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

J'ai utilisé trigger() pour exécuter un clic et le lier sur l'événement keyup instable de keydown car l'événement click comprend deux événements, à savoir mousedown puis mouseup. Donc, ressembler autant que possible à keydown et keyup.

Voici un démo

5
Rohit416

Un autre ajout à faire:

Si vous ajoutez de manière dynamique une entrée, par exemple en utilisant append(), vous devez utiliser la fonction jQuery on().

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

METTRE À JOUR:

Une méthode encore plus efficace consiste à utiliser une instruction switch. Vous trouverez peut-être aussi plus propre.

Balisage:

<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

Essayez-vous d'imiter un clic sur un bouton lorsque vous appuyez sur la touche Entrée? Si tel est le cas, vous devrez peut-être utiliser la syntaxe trigger.

Essayez de changer

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

à

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

Si ce n'est pas le problème, essayez de regarder de nouveau votre syntaxe de capture de clé en consultant les solutions de cet article: jQuery Event Keypress: Quelle touche a été enfoncée?

3
Shaun

Il suffit d’inclure la fonction preventDefault () dans le code,

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

keyup vaut mieux que keypress pour obtenir le contenu des entrées archivées.

0
hobbydev

Essaye ça

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

Jquery: Fire Cliquez sur un événement avec le bouton enter Appuyez sur Essayez ceci ::

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