【发布时间】:2011-01-05 13:27:43
【问题描述】:
看了一下,发现了一些东西,但似乎没有什么像我想要的那样工作。
最初我的解决方案可以使用 Internet Explorer 和 chrome,但不能使用 firefox(这对我来说是不满意的)
我正在寻找的是一个简单的文本区域,它在输入键上发送数据,但在 Shift+Enter 上创建一个新行。以下是我所拥有的
function goReturn(e,str) {
var e = (window.Event) ? e.which : e.keyCode;
if (e.shiftKey && e=="13") {
document.getElementById("wall").value =
document.getElementById("wall").value+"\n";
} else if(e=="13"){
// ...continue to send data
}
}
这会在输入时发送数据,但也会在移位和输入时发送数据(这是我遇到的问题)。
感谢您的帮助
【问题讨论】:
-
你为什么要把你的数字用引号括起来?
e.which不是字符串! -
请不要更改文本区域的默认预期行为。按回车键应始终插入新行。如果有的话,您应该保留大部分默认行为并使用 shift+enter 来提交表单。
-
你在函数的第一行隐藏了
e。e.shiftKey将始终为 false(除非您将该属性添加到 String 原型......)。我假设你的实际代码没有这样做,你能用它更新你的问题吗?
标签: javascript events firefox keycode