我已经阅读了所有关于这个问题的答案,但似乎没有一个解决方案有效。

此外,我得到的感觉,触发按键与特殊字符根本不起作用。有人能证明这是谁干的吗?


当前回答

如果你想把它写成单行,你可以用

$("input").trigger(jQuery.Event('keydown', { which: '1'.charCodeAt(0) }));

其他回答

console.log( String.fromCharCode(event.charCode) );

我想不需要映射角色。

我用keyup做了。

$("#id input").trigger('keyup');

真正的答案必须包括keyCode:

var e = jQuery.Event("keydown");
e.which = 50; // # Some key code value
e.keyCode = 50
$("input").trigger(e);

尽管jQuery的网站上说which和keyCode是标准化的,但它们是非常严重的错误。对e.which和e.keyCode进行标准的跨浏览器检查总是最安全的,在本例中只定义两者。

如果你想把它写成单行,你可以用

$("input").trigger(jQuery.Event('keydown', { which: '1'.charCodeAt(0) }));

jQuery 1.6+稍微更简洁:

var e = jQuery.Event( 'keydown', { which: $.ui.keyCode.ENTER } );

$('input').trigger(e);

(如果你不使用jQuery UI,请改用适当的键码。)