2010-07-13 22 views
13

我:textarea的換行符預防上輸入(jQuery的)

$('#myTextArea').keyup(function(e) { 
    if(e.keyCode == 13) { 
     e.preventDefault(); // Makes no difference 
    $(this).parent().submit(); // Submit form it belongs to 
    } 
}); 

如何防止顯示錶單提交前右換行? preventDefault()stopPropagation不起作用。我可以手動重置字段文本,但是...

回答

25

發生這種情況是因爲keyup在文本插入文本區域後調用。

要在輸入密鑰之前捕獲密鑰,您需要監聽​​事件。

因此,只需將keyup更改爲​​,您應該很好。

$('#myTextArea').keydown(function(e) { 
+2

謝謝。不敢相信我沒有看到。 – ash 2010-07-13 23:27:47

+1

是..其中一個滑溜的情況.. :) – 2010-07-13 23:35:00

+1

謝謝!我花了一個小時。 – Guanlun 2013-03-28 15:01:38