2012-02-17 122 views
1

我试图模拟用户在离开输入字段(.blur)时按下回车键。 所以非常基本的模糊,它模拟用户实际上按下他们的键盘上的ENTER键...任何想法如何做到这一点?模拟使用jQuery按Enter键

+2

目的是什么?你只是试图添加一个换行到文本输入? – 2012-02-17 19:16:28

+1

为什么输入键,会做什么动作?我建议只是做那个动作。 – 2012-02-17 19:17:28

+0

原因是我有一个可以让用户输入“标签”的字段,但有时他们没有意识到他们在添加标签后必须点击Enter或Tab ......他们只是点击字段而不创建标签.. – user1093150 2012-02-17 19:28:18

回答

0

为什么不直接触发输入键将执行的任何操作,如$(this).closest('form')[0].submit();提交包含该字段的表单。

+0

为什么你需要'[0]'? '.closest'应该只返回1个元素。 – 2012-02-17 19:18:24

+0

也许他没有一个表单,并正在做一个ajax请求,然后导航到返回的网址。我们不太了解他的代码是什么样的 – jnoreiga 2012-02-17 19:19:56

+1

jQuery'.submit()'函数实际上不会提交表单 - 至少它曾经是这样的;所以我打电话给本地DOM方法。 – ThiefMaster 2012-02-17 19:39:50

6
$("input").blur(function() { 
    var e = jQuery.Event("keydown"); 
    e.which = 13; // Enter 
    $("input").trigger(e); 
}); 

Demo

+0

不,我一定希望它发生模糊。我希望它成为'好像'用户一进入就离开输入字段 – user1093150 2012-02-17 19:29:02

+0

好吧,我为你更新它 – jnoreiga 2012-02-17 20:13:41

2

基于您的评论

的原因是,我有一个字段,允许用户输入“标签”,但 有时他们没有意识到,他们必须按Enter或者在 之后添加标签......他们只是单击该字段并且它不创建 该标签..

尝试,

$("input").blur(/* Fx that adds the Tag*/); 

注意:您可能需要修改的选项卡中的keydown事件处理程序,因为当你点击选项卡中的.blur将被触发。