Enter tuşuna izin verme
<textarea>Formunuzda bir tane yoksa , aşağıdakileri ekleyin <form>:
<form ... onkeydown="return event.key != 'Enter';">
Veya jQuery ile:
$(document).on("keydown", "form", function(event) {
return event.key != "Enter";
});
Bu form içinde her tuşa basın üzerinde kontrol edileceğini neden olacaktır key. Değilse Enter, geri döner trueve her şey her zamanki gibi devam eder. Eğer öyleyse, Entero zaman geri döner falseve her şey hemen durur, böylece form gönderilmez.
keydownOlay yerine tercih edilebilir keyupolarak keyupçok geç blok formuna göndermektir. Tarihsel olarak da vardı keypress, ama bu olduğu gibi, reddedildi KeyboardEvent.keyCode. Bunun KeyboardEvent.keyyerine, basılan tuşun adını döndüren anahtarını kullanmalısınız. Ne zamanEnter kontrol edilir, sonra bu 13 (normal girin) kontrol yanı 108 olarak (sayısal tuş takımı girin) olacaktır.
O Not $(window)yerine diğer bazı cevaplar önerildiği üzere bir $(document)çalışmıyor keydown/ 'keyup Eğer sıra bu fakir kullanıcıları kapsayacak şekilde gibisin eğer öyleyse bu en iyi bir seçimdir, IE <= 8'de.
Yalnızca textareas'ta anahtar girmeye izin ver
<textarea>Formunuzda bir varsa (elbette Enter tuşunu kabul etmesi gerekir ), o zaman a olmayan her giriş elemanına tuş takımı işleyicisini ekleyin <textarea>.
<input ... onkeydown="return event.key != 'Enter';">
<select ... onkeydown="return event.key != 'Enter';">
...
Isıcam plakasını azaltmak için jQuery ile yapılması daha iyidir:
$(document).on("keydown", ":input:not(textarea)", function(event) {
return event.key != "Enter";
});
Herhangi bir nedenle enter tuşuna çağırmak istediğiniz bu giriş öğelerine eklenmiş başka olay işleyicisi işlevleriniz varsa, yalnızca yanlış döndürmek yerine etkinliğin varsayılan davranışını önleyin, böylece diğer işleyicilere düzgün şekilde yayılabilir.
$(document).on("keydown", ":input:not(textarea)", function(event) {
if (event.key == "Enter") {
event.preventDefault();
}
});
Textareas'ta enter tuşuna izin ver ve yalnızca düğmeleri gönder
Gönderme düğmelerinde <input|button type="submit">de enter tuşuna izin vermek isterseniz, seçiciyi her zaman aşağıdaki gibi hassaslaştırabilirsiniz.
$(document).on("keydown", ":input:not(textarea):not(:submit)", function(event) {
// ...
});
O Not input[type=text]diğer bazı cevaplar önerildiği şekilde o en iyi bir seçici, bu HTML5 metin olmayan girdileri kapsamaz.