jQuery模拟输入

时间:2017-03-09 01:31:02

标签: javascript jquery

我尝试了答案here,但它对我不起作用。

JSFiddle:https://jsfiddle.net/Ldu6wwv0/

$('input').val('test').trigger(jQuery.Event('keypress', {keycode: 13}));

$('input').on('keypress', function(){
    $('p').text("worked");
});

我做错了什么?

1 个答案:

答案 0 :(得分:1)

问题似乎是你的代码的顺序。触发按键的代码是在事件处理程序之前定义的。

这似乎现在有效。 (JSFiddle

$('input').on('keypress', function(){
    $('p').text("worked");
});

$('input').val('test').trigger(jQuery.Event('keypress', {keycode: 13}));

更新: 另外请不要使用密钥代码,因为它已被弃用(link),在某些情况下可能不起作用。我亲自面对这个问题。请改用

JSFiddle

$('input').on('keypress', function(){
    $('p').text("worked");
});

var e = jQuery.Event("keypress");
e.which = 13;
$("input").focus().val('test').trigger(e);