Javascript 选择window和don';不选择文本区域?
我想在整个窗口(或主体)上附加一个按下enter键的事件,但我想保留textarea的enter事件(以获得一个新行) 我试过类似的东西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,
$(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。