jQuery:disable';输入';仅当字段具有焦点时

jQuery:disable';输入';仅当字段具有焦点时,jquery,onfocus,lost-focus,Jquery,Onfocus,Lost Focus,按键盘上的enter键时,表单将自动发送。 我希望情况并非如此,仅当您按enter键时,特定字段(#myText)具有焦点 多亏了,我现在有了以下代码: $('#myText').on('focusin', function() { console.log('focusin'); $(window).keydown(function(event){ if(event.keyCode == 13) { console.log('enter!

按键盘上的
enter
键时,表单将自动发送。 我希望情况并非如此,仅当您按enter键时,特定字段(
#myText
)具有焦点

多亏了,我现在有了以下代码:

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

    $(window).keydown(function(event){
        if(event.keyCode == 13) {
            console.log('enter!');
            event.preventDefault();
            return false;
        }
    });
});
但这并不奏效,因为当字段失去焦点时,按enter键不会发生任何事情


我哪里错了?

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

$(window).keydown(function(event){
为此:

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

每次输入#myText获得焦点时,都会创建一个新的事件处理程序。将代码更改为:
$(this).off('keydown').keydown(函数(事件){