我想附加一个事件来按下整个窗口(或正文)上的回车键,但我想保留textarea的enter事件(以获得一个新行)。
我试过像
这样的东西$(window).not(':textarea') , $('body:not(textarea)')
我试过这样的事情
$('*').filter(function(arg1, arg2) { !$(arg2).is('textarea').on('keydown',
$.proxy(this.nextStep, this)); });
但这给了我一个错误。
谢谢。
答案 0 :(得分:1)
AFAIK,keydown事件会冒泡,因此您可以将其附加到窗口而不会影响textarea。
请参阅:http://jsfiddle.net/aCTTq/
虽然如果您在处理程序中的事件对象上运行preventDefault
,您将遇到问题。在这种情况下尝试类似:
$(window).keydown(function(e) {
console.log(e.which);
if ( e.target.nodeName != 'TEXTAREA' ) {
e.preventDefault();
}
});