jQuery:仅当字段具有焦点时禁用'enter'

jQuery: disable 'enter' only when a field has focus

当您在键盘上按 enter 时,会自动发送一个表单。 我希望只有当您按 enter.

时特定字段 (#myText) 具有焦点时才不会出现这种情况

感谢this,我现在有了这个代码:

$('#myText').on('focusin', function() {
    console.log('focusin');

    $(window).keydown(function(event){
        if(event.keyCode == 13) {
            console.log('enter!');
            event.preventDefault();
            return false;
        }
    });
});

但是效果不佳,因为当字段失去焦点时,按enter没有任何反应。

我哪里错了?

您没有将按键事件绑定到特定输入。更改此行:

$(window).keydown(function(event){

对此:

$(this).off('keydown').keydown(function(event){

JSFiddle demo