
Chris
Ich möchte erkennen, ob der Benutzer gedrückt hat Eingeben mit jQuery.
Wie ist das möglich? Braucht es ein Plugin?
Es sieht so aus, als müsste ich die verwenden keypress()
Methode.
Gibt es Browserprobleme mit diesem Befehl – wie gibt es Browserkompatibilitätsprobleme, über die ich Bescheid wissen sollte?

Gibolt
Benutzen event.key
und modernes JavaScript!
$(document).keypress(function(event) {
if (event.key === "Enter") {
// Do something
}
});
Oder ohne jQuery:
document.addEventListener("keypress", function onEvent(event) {
if (event.key === "Enter") {
// Do something better
}
});
Mozilla-Dokumentation
Unterstützte Browser

Zeinab_Ns
Als die keypress
-Ereignis durch keine offizielle Spezifikation abgedeckt ist, kann das tatsächliche Verhalten, das bei seiner Verwendung auftritt, je nach Browser, Browserversion und Plattform unterschiedlich sein.
$(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.')"> </button>

Peter Mortensen
Sie können dies mit dem jQuery-Event-Handler „keydown“ tun:
$("#start").on( "keydown", function(event) {
if(event.which == 13)
alert("Entered!");
});

Peter Mortensen
So habe ich es gelöst. Du solltest benutzen return false;
$(document).on('keypress', function(e) {
if(e.which == 13) {
$('#sub_btn').trigger('click');
alert('You pressed the "Enter" key somewhere');
return false;
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="" method="post" id="sub_email_form">
<div class="modal-header">
<button type="button" class="close" id="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Subscribe to our Technical Analysis</h4>
</div>
<div class="modal-body">
<p>Signup for our regular Technical Analysis updates to review recommendations delivered directly in your inbox.</p>
<div class="input-group">
<input type="email" name="sub_email" id="sub_email" class="form-control" placeholder="Enter your email" required>
</div>
<span id="save-error"></span>
</div>
<div class="modal-footer">
<div class="input-group-append">
<input type="submit" class="btn btn-primary sub_btn" id="sub_btn" name="sub_btn" value="Subscribe">
</div>
</div>
</form>
10106000cookie-checkWie kann ich das Drücken der Eingabetaste auf der Tastatur mit jQuery erkennen?yes
Link dazu .keypress() | jQuery-API-Dokumentation
– Haim Jewgi
11. Juni 2009 um 6:43 Uhr
Eines der besten Dinge an Javascript-Frameworks ist, dass sie standardmäßig Cross-Browser-kompatibel sein sollten. Sie führen die Browser-Kompatibilitätsprüfungen durch, damit der Benutzer dies nicht tun muss. Ich habe den JQuery-Quellcode nicht gelesen, aber ich bezweifle, dass die Tastendruckfunktionalität in diesem Sinne anders ist.
– Miek
11. Juni 2009 um 6:54 Uhr
Das einzige Problem mit der Browserkompatibilität besteht darin, dass Sie e.which anstelle von e.keyCode verwenden sollten, um den ASCII-Code zu erkennen.
– Daniel
19. Januar 2012 um 18:54 Uhr
stackoverflow.com/questions/302122/…
– Lemo
11. Juli 2012 um 11:07 Uhr