2013-05-30 58 views
0

通过代码,我想手动输入一些字符到使用JQuery的输入。Jquery按键事件不会将文字添加到文本框

我使用这个:

var e = jQuery.Event("keypress"); 
e.which = 97; 
$("input").trigger(e); 

我也有键代码等

换句话说,事件似乎并沿着连接到正在记录触发事件的正确输入一个事件处理程序通过代码被解雇并得到处理。但是,输入值仍为空。该字符不添加在那里。不知道发生了什么事。

编辑:我正在创建自动测试,应该在我的autocomplete组件上触发keypress。该应用程序使用AngularJS编写。这是不可能的所有的代码和html JSFiddle等我已经隔离这是一个Jquery问题如上所述。

我知道我可以直接使用val()但不会触发必要的keypress事件插件工作

+0

很难理解你为什么要这样做。你能提供你的HTML或进一步的解释吗?你究竟想要做什么? – Dom

+0

看到我上面的编辑。 – Ketan

+0

你是否试图测试处理程序本身?为什么不直接在处理程序上执行测试? –

回答

0

你有没有尝试过:

$("input").keypress(function(){ 
$(this).prop('value', 'your value') 

});

+0

为什么我必须手动使用val()?我期待keypress能够做到这一点。 – Ketan

+0

为什么keypress与元素的价值有关? –

+0

无法触发默认浏览器按键事件,也无法触发默认点击链接。这个答案是你可以拥有的最佳选择。 – claustrofob