Мне нужно было запретить отправку только определенных входных данных, поэтому я использовал селектор классов, чтобы это было «глобальной» функцией везде, где мне это нужно.
<input id="txtEmail" name="txtEmail" class="idNoEnter" .... />
И этот код jQuery:
$('.idNoEnter').keydown(function (e) {
if (e.keyCode == 13) {
e.preventDefault();
}
});
В качестве альтернативы, если нажатие клавиши недостаточно:
$('.idNoEnter').on('keypress keydown keyup', function (e) {
if (e.keyCode == 13) {
e.preventDefault();
}
});
Некоторые заметки:
Изменяя различные хорошие ответы здесь, клавиша Enter , кажется, работает для keydown
во всех браузерах. В качестве альтернативы я обновил bind()
до метода on()
.
Я большой поклонник селекторов класса, взвешивающий все за и против и обсуждения производительности. Мое соглашение об именах - «idSomething», чтобы указать, что jQuery использует его как идентификатор, чтобы отделить его от стиля CSS.