在文本框中输入后,只要用户点击进入就调用函数,最简单的方法是什么?
答案 0 :(得分:8)
您需要收听keypress
事件。使用delegate
执行此操作可能最简单:
$(document.body).delegate('input:text', 'keypress', function(e) {
if (e.which === 13) { // if is enter
e.preventDefault(); // don't submit form
// do what you want here
}
});
答案 1 :(得分:5)
<textarea id="text"></textarea>
$('#text').keydown(function(e){
if (e.keyCode == 13) {
alert('Enter was pressed.');
}
});
答案 2 :(得分:2)
HTML代码
<input type="text" id="txt"/>
<input type="button" id="btn" value="send"/>
jquery代码
$("#txt").keydown(function(event){
if(event.keyCode == 13){
alert("enter button pressed");
$("#btn").click();
}
});
在此处运行示例:http://jsfiddle.net/Xamkp/5/
答案 3 :(得分:1)
试试这个:
jQuery(document).bind('keydown', 'return',function (){ /*do something*/ });
你需要一个插件: jquery.hotkeys
答案 4 :(得分:1)
你问的形式很简单:
$('#idOfTextBox').keyup(function(event){
// enter key pressed
if(event.keyCode=='13')yourFunction();
});
请注意,这仍然会将回车键附加到框中。如果您不想要,可以尝试keydown
或keypressed
。
请务必查看keyUp()以获取更多详细信息。
答案 5 :(得分:-2)
将<input>
放入表单中,并为表单的submit
事件编写处理程序。
这样你就不会明确地寻找任何特定的密钥;你只是在等待表格正常提交。在每个主流浏览器中,在填写表格时按Enter键将提交表格。
请注意,如果您不想要不需要在屏幕上显示物理提交按钮(在这种情况下,输入键可能是提交表单的唯一方式)。