Незначительное расширение ответа Андреа, приведенного выше, делает вспомогательный метод более полезным, когда вам также может потребоваться ввод измененных нажатий на клавишу ввода (т.е. ctrl-enter или shift-enter). Например, этот вариант позволяет связывать как:
$('textarea').enterKey(function() {$(this).closest('form').submit(); }, 'ctrl')
для отправки формы, когда пользователь нажимает Ctrl-Enter с фокусом на текстовой области этой формы.
$.fn.enterKey = function (fnc, mod) {
return this.each(function () {
$(this).keypress(function (ev) {
var keycode = (ev.keyCode ? ev.keyCode : ev.which);
if ((keycode == '13' || keycode == '10') && (!mod || ev[mod + 'Key'])) {
fnc.call(this, ev);
}
})
})
}
(см. Также Ctrl + Enter jQuery в TEXTAREA )