831 Stimmen

Wie kann ich erkennen, Drücken der Eingabetaste auf der Tastatur mit jQuery?

Ich würde gerne erkennen, ob der Benutzer die Taste Enter mit jQuery.

Wie ist das möglich? Ist dafür ein Plugin erforderlich?

Es sieht so aus, als müsste ich die keypress() método.

Gibt es Browser-Probleme mit diesem Befehl - z. B. Probleme mit der Browserkompatibilität, über die ich Bescheid wissen sollte?

4voto

Zeinab_Ns Punkte 90

Da die keypress Ereignis nicht durch eine offizielle Spezifikation abgedeckt ist, kann sich das tatsächliche Verhalten bei seiner Verwendung von Browser zu Browser, Browser-Versionen und Plattformen unterscheiden.

$(document).keydown(function(event) {
  if (event.keyCode || event.which === 13) {
    // Cancel the default action, if needed
    event.preventDefault();
    // Call function, trigger events and everything you want to do. Example: Trigger the button element with a click
    $("#btn").trigger('click');
  }
})

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<button id="btn" onclick="console.log('Button Pressed.')">&nbsp</button>

3voto

jonathan klevin Punkte 169

Versuchen Sie dies, um die gedrückte Eingabetaste zu erkennen.

$(document).on("keypress", function(e){
    if(e.which == 13){
        alert("You've pressed the enter key!");
    }
});

Siehe Demo @ Erkennung der Eingabetaste auf der Tastatur

2voto

Justin Liu Punkte 543

Utilicé $(document).on("keydown") .

Bei einigen Browsern keyCode wird nicht unterstützt. Dasselbe gilt für which wenn also keyCode nicht unterstützt wird, müssen Sie which und vice versa.

$(document).on("keydown", function(e) {
  const ENTER_KEY_CODE = 13;
  const ENTER_KEY = "Enter";
  var code = e.keyCode || e.which
  var key = e.key
  if (code == ENTER_KEY_CODE || key == ENTER_KEY) {
    console.log("Enter key pressed")
  }
});

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

1voto

$(document).keydown(function (event) {
      //proper indentiation of keycode and which to be equal to 13.
    if ( (event.keyCode || event.which) === 13) {
        // Cancel the default action, if needed
        event.preventDefault();
        //call function, trigger events and everything tou want to dd . ex : Trigger the button element with a click
        $("#btnsearch").trigger('click');
    }
});

0voto

Duan Walker Punkte 305

Ich denke, die einfachste Methode wäre die Verwendung von Vanille-JavaScript :

document.onkeyup = function(event) {
   if (event.key === 13){
     alert("Enter was pressed");
   }
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X