Javascript 选择window和don';不选择文本区域?

Javascript 选择window和don';不选择文本区域?,javascript,jquery,Javascript,Jquery,我想在整个窗口(或主体)上附加一个按下enter键的事件,但我想保留textarea的enter事件(以获得一个新行) 我试过类似的东西 $(window).not(':textarea') , $('body:not(textarea)') 我试过这样的方法 $('*').filter(函数(arg1,arg2){!$(arg2).is('textarea')。on('keydown'), $.proxy(this.nextStep,this));})但这给了我一个错误 谢谢 AFAIK,

我想在整个窗口(或主体)上附加一个按下enter键的事件,但我想保留textarea的enter事件(以获得一个新行)

我试过类似的东西

$(window).not(':textarea') , $('body:not(textarea)') 
我试过这样的方法

$('*').filter(函数(arg1,arg2){!$(arg2).is('textarea')。on('keydown'),
$.proxy(this.nextStep,this));})但这给了我一个错误


谢谢

AFAIK,keydown事件会冒泡,因此您可以将其附加到窗口,而不会影响文本区域

见此:

尽管如果在处理程序中的事件对象上运行
preventDefault
,您将遇到问题。在这种情况下,请尝试以下操作:

$(window).keydown(function(e) {
    console.log(e.which);
    if ( e.target.nodeName != 'TEXTAREA' ) {
        e.preventDefault();
    }
});

演示:

适用于Chrome和FF。