2014-04-30 128 views
0

我寫了一個腳本,當我在textarea中按Enter鍵時觸發提交按鈕,TextArea返回到提交被激活前的行。Keydown事件Javascript?

我想阻撓文本區不返回的行

有我的腳本

jQuery("#div1").on("keydown", function(event) { 
    if(event.which == 13){ 
     if(document.getElementById('checkbox').checked){    
      jQuery("#envoyer").trigger('click'); 
     } 
    } 
}); 

回答

1

您需要取消事件!

event.preventDefault(); 

只要確保只有這樣做,當你提交表單 - 它會很容易不小心核彈在textarea的所有輸入的所有能力;)

另外,作爲可用性提示,我會建議在您的if條件中添加&& !event.ctrlKey && !event.shiftKey,因爲這可以讓人們手動輸入換行符,就像他們在許多聊天程序中一樣 - 如果您明確不想換行符,則可以使用<input type="text" />而不是<textarea>,特別是因爲它具有內置的Enter-to-submit-form功能。