Javascript jQuery触发器按enter键不工作
这是我的剧本:Javascript jQuery触发器按enter键不工作,javascript,jquery,Javascript,Jquery,这是我的剧本: $('.target input').val('my value'); $('.target input').trigger(jQuery.Event('keypress', { keycode: 13 })); 第一行工作正常,值设置正确,然后我需要在输入元素中按enter键,但第二行不工作。我的意思是事件没有被触发: $('.target input').keyup(function(e){ if(e.keyCode == 13) {
$('.target input').val('my value');
$('.target input').trigger(jQuery.Event('keypress', { keycode: 13 }));
第一行工作正常,值设置正确,然后我需要在输入元素中按enter键,但第二行不工作。我的意思是事件没有被触发:
$('.target input').keyup(function(e){
if(e.keyCode == 13)
{
alert($(this).val());
}
});
当我手动按下enter键时,事件会触发,但使用javascript时,事件不会触发。问题出在哪里?您需要触发
keyup
事件才能启动keyup事件处理程序。尽管属性keycode
应该更改为,因为对象属性是区分大小写的Javascript
$('.target input').trigger(jQuery.Event('keyup', { keyCode: 13 }));
$('.target input').keyup(函数(e){
如果(e.keyCode==13){
警报($(this.val());
}
});
$('.target input').val('my value');
$('.target input').trigger(jQuery.Event('keyup'){
密码:13
}));代码>
这应该可以帮你完成工作
var e = jQuery.Event("keypress");
e.which = 13; //choose the one you want
e.keyCode = 13;
$("#theInputToTest").trigger(e);
基本上,您需要触发keyup
事件,就像我在小提琴中所做的那样
HTML
<input type=text />
你不工作是什么意思?@PranavCBalan我更新了问题当你按enter键时,你想让什么发生?提交表格?现在,您触发的事件只有在配置了单独的侦听器时才会触发。如果您试图提交表单,只需$('formselector')。submit()我认为您是在触发事件后绑定事件处理程序。。。你能在stacksnippet中重现这个问题吗?或者这不是问题所在,@Saeid:你使用的是哪个版本?如果你能解释一下,问题出了什么问题,解决方案是什么,那就好了。
<input type=text />
$(":input").keyup(function(e){
if(e.which==13){
alert("Fired");
}
});
$(":input").val("TEST");
$(":input").trigger($.Event("keyup",{which:13}));