我尝试了答案here,但它对我不起作用。
JSFiddle:https://jsfiddle.net/Ldu6wwv0/
$('input').val('test').trigger(jQuery.Event('keypress', {keycode: 13}));
$('input').on('keypress', function(){
$('p').text("worked");
});
我做错了什么?
答案 0 :(得分:1)
问题似乎是你的代码的顺序。触发按键的代码是在事件处理程序之前定义的。
这似乎现在有效。 (JSFiddle)
$('input').on('keypress', function(){
$('p').text("worked");
});
$('input').val('test').trigger(jQuery.Event('keypress', {keycode: 13}));
更新: 另外请不要使用密钥代码,因为它已被弃用(link),在某些情况下可能不起作用。我亲自面对这个问题。请改用 。
$('input').on('keypress', function(){
$('p').text("worked");
});
var e = jQuery.Event("keypress");
e.which = 13;
$("input").focus().val('test').trigger(e);