当用户按下进入时的JQuery事件?

时间:2011-04-16 13:33:07

标签: javascript jquery

在文本框中输入后,只要用户点击进入就调用函数,最简单的方法是什么?

6 个答案:

答案 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.');
    }
});

http://jsfiddle.net/dNfC2/

答案 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();
});

请注意,这仍然会将回车键附加到框中。如果您不想要,可以尝试keydownkeypressed

请务必查看keyUp()以获取更多详细信息。

答案 5 :(得分:-2)

<input>放入表单中,并为表单的submit事件编写处理程序。

这样你就不会明确地寻找任何特定的密钥;你只是在等待表格正常提交。在每个主流浏览器中,在填写表格时按Enter键将提交表格。

请注意,如果您不想要需要在屏幕上显示物理提交按钮(在这种情况下,输入键可能是提交表单的唯一方式)。