所以,我在这里遇到一个小问题。
我有一个文本字段(不是区域),我想按Enter键时运行JS函数。这不是单独的“提交”按钮。 现在我正在尝试使用'onKeyPress'事件,但每次输入一个字母时都会运行该函数。所以如果我想写'LIKE',它会发布'L'然后'LI'然后'LIK'然后'喜欢'。每当我按下任何东西时,它都会做出反应,而不仅仅是当我进入时。
我没有表单,只是一个简单的输入类型=“text”:
<input type="text" id="' + post_id + '" onKeyPress="fbComment(\''+post_id+'\')"> Post a comment </input>
如果你们中的一些人还记得我的上一个问题,那么这将是我的facebook_footer变量的一部分(我正在尝试FB API),完成的事情看起来像这样:
var facebook_footer = '<button onClick="fbLike(\''+post_id+'\')"> Like </button> <input type="text" id="' + post_id + '" onKeyPress="fbComment(\''+post_id+'\')"> Post a comment </input>';
你们中的任何人都知道我能做些什么来使这项工作吗?
答案 0 :(得分:3)
这是一个简单的功能 -
textElement.onkeydown=function(e){
if(e.keyCode==13){
alert('you press enter')
}
}
答案 1 :(得分:2)
您可以在输入中检测回车键:
$("#inputIDHERE").keypress(function(e) {
if(e.which == 13) {
alert('You pressed enter!');
}
});
答案 2 :(得分:0)
当然,你可以这样做 - 你只需要在你的javascript中加入一些额外的逻辑。
您只需查看按键事件即可查看输入的密钥。事件对象具有键码或具有与按下的键对应的值的属性,键码13是输入/返回按钮。
答案 3 :(得分:0)
这对我有用:
$("#inputIDHERE").bind('keypress', function(e) {
if(e.which == 13) {
alert('You pressed enter!');
}
});
我还添加了&lt; form&gt;&lt; / form&gt;在我的输入标签周围,虽然这可能没有必要。