2012-10-31 18 views
0

在动态表单中,我有以下代码来捕获“输入”键。如何捕获除了textarea之外的表单输入

$(document).bind('keypress', function (e) { 
    if (e.keyCode == 13) { 
    e.preventDefault(); 
    } 
}); 

偶尔有像HTMLTextAreaElement其接受“ENTER”键的元素。

如何为HTMLTextAreaElement取消绑定preventDefault。

TIA。

+0

究竟是什么你想怎么办?什么默认行为,你不试图阻止与textarea? – Ian

回答

1

试试这个:

if (e.which == 13 && e.target.localName !== 'textarea') { 
+0

'localName'和'tagName'有什么区别? –

+0

@JosephSilber localName主要用于XML文档的元素,我只是用它来返回一个小写的字符串。 – undefined

0
$("html *:not(textarea)").bind('keypress', function (e) { 
    if (e.keyCode == 13) { 
    e.preventDefault(); 
    } 
}); 

演示:http://jsfiddle.net/DerekL/4JWLb/

+0

你对你的小提琴如此自信吗?一些如何不是不工作! – Gian

+0

@Gian - 嗯,这很奇怪。 ['$(“html *:not(textarea)”)'](http://jsfiddle.net/DerekL/LshyK/)返回除'textarea'之外的所有元素,但它也适用于'textarea'。看起来像一个错误。 –

相关问题