我试图在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