2012-10-31 38 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'。看起來像一個錯誤。 –

相關問題