我試圖在TEXT區域控件上重現標準的即時通訊行爲: 輸入作爲發送按鈕。 ctrl +輸入爲真實輸入。jquery ctrl +輸入爲文本區域中的輸入
$("#txtChatMessage").keydown(MessageTextOnKeyEnter);
function MessageTextOnKeyEnter(e)
{
if (!e.ctrlKey && e.keyCode == 13)
{
SendMessage();
return false;
}
else if(e.keyCode == 13)
{
$(this).val($(this).val() + "\n");
}
return true;
}
我已經嘗試了兩個註釋行和沒有。不起作用。簡單地按預期工作。 任何想法如何添加輸入Ctrl + Enter?
關鍵代碼不是問題。它們被正確檢測到。所以如果按預期工作。但是添加新行可能不正確(在FF中,Chrome可正常工作)。所以我需要正確的多瀏覽器方式將新行符號插入到textarea中。如果沒有手動添加字符串(通過一些基於Ctrl + Enter的事件),它會更好。
更改按鍵事件不起作用。 「\ r \ n」沒有幫助。
測試頁位於here
什麼是額外的!對於 – Starx 2010-08-20 15:27:05
您是否嘗試指定else if(e.keyCode == 13 && e.ctrlKey)? – 2010-08-20 15:30:36
我試過如果(e.keyCode == 13 && e.ctrlKey)也。沒有成功。可能不是「\ n」?但我還沒有找到任何其他多瀏覽器的方式。 「\ r \ n」也沒有幫助。 在Fire Fox一切正常。 IE只在按下一個字符時才移動到下一行(即回車不起作用) – 2010-08-20 15:42:41