0

我想在整个窗口(或正文)上附加一个按回车键的事件,但我想保留 textarea 的回车事件(以换行)。

我尝试了类似的东西

$(window).not(':textarea') , $('body:not(textarea)') 

我尝试了这样的事情

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

谢谢 。

4

1 回答 1

1

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

看到这个:http: //jsfiddle.net/aCTTq/

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

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

演示:http: //jsfiddle.net/aCTTq/1/

于 2013-10-02T15:16:10.003 回答