我注意到Facebook发送新状态的方式。基本上,当你写评论时,你没有按钮可以点击,而是按下“输入”键才能提交评论。现在我也想做这件事。我正在考虑可能的解决方案。在我看来,<input>
是通过按下输入按钮来提交的,但该textarea不是。触发文本区域中的输入
- 无论是我写的输入(类型文本),并设置一个高度女巫占地面积超过一排
- 更多或我要补充一个textarea并以某种方式提交该表格,当用户按回车键。
哪一个是最好的?如果答案=秒,我该怎么做?
我注意到Facebook发送新状态的方式。基本上,当你写评论时,你没有按钮可以点击,而是按下“输入”键才能提交评论。现在我也想做这件事。我正在考虑可能的解决方案。在我看来,<input>
是通过按下输入按钮来提交的,但该textarea不是。触发文本区域中的输入
哪一个是最好的?如果答案=秒,我该怎么做?
这取决于你如何定义最佳。
第一,如果你想要一个非常简单的解决方案,不需要JavaScript
的秒是最好的,如果你要允许文本换行是最好的。
如果您想使用的文本区域的解决方案,你可以做这样的事情:(用了jQuery)
<textarea id="mytextarea"></textarea>
<script>
$('#mytextarea').keypress(function(e){
if(e.keyCode == 13 && !e.shiftKey) {
e.preventDefault();
this.form.submit();
}
});
</script>
关于这个解决方案的好处是,它仍然允许人们做换行符,如果他们只是进入时按住shift键。就像在Skype上。
住在这里例如:http://jsfiddle.net/MEtGg/
我上的回车键注册一个按键侦听器,当焦点在你的textarea的,这是国际海事组织最常见的和最好的方式。
在jQuery中可以使用keydown/up method
无需框架(如jQuery)只是这样的:
var textarea = document.getElementById("area");
try {
textarea.addEventListener("keydown", keyPress, false);
} catch (e) {
textarea.attachEvent("onkeydown", keyPress);
}
function keyPress(e) {
if (e.keyCode === 13) {
alert("Enter key was pressed")
} else {
return;
}
}
看看这里一个例子:http://fiddle.jshell.net/yuCAd/3/
我会随着第二。并将使用javascript拦截回车键,然后调用一个函数来执行提交。 这个答案应该是这样的情况:Trigger a button click with JavaScript on the Enter key in a text box
如果我可能会问这是否适合所有浏览器 – Uchenna 2011-07-31 21:24:51