我已经阅读了所有关于这个问题的答案,但似乎没有一个解决方案有效。
此外,我得到的感觉,触发按键与特殊字符根本不起作用。有人能证明这是谁干的吗?
我已经阅读了所有关于这个问题的答案,但似乎没有一个解决方案有效。
此外,我得到的感觉,触发按键与特殊字符根本不起作用。有人能证明这是谁干的吗?
当前回答
如果你想触发keypress或keydown事件,那么你需要做的是:
var e = jQuery.Event("keydown");
e.which = 50; // # Some key code value
$("input").trigger(e);
其他回答
我用keyup做了。
$("#id input").trigger('keyup');
如果你需要考虑到当前的光标和文本选择…
这对我在Chrome上的AngularJS应用程序不起作用。正如Nadia在最初的评论中指出的那样,字符在输入字段中从来都是不可见的(至少,这是我的经验)。此外,前面的解决方案没有考虑输入字段中的当前文本选择。我不得不使用一个很棒的库jquery-selection。
我有一个自定义的屏幕数字键盘,填充多个输入字段。我不得不……
在focus上,保存lastFocus.element 在模糊,保存当前的文本选择(开始和停止) var pos = element.selection('getPos') lastFocus。Pos ={开始:Pos .start,结束:Pos .end} 当我按下键盘上的一个按钮时: lastFocus.element。select ('setPos', lastFocus.pos) lastFocus.element。select ('replace', {text: myKeyPadChar,插入符:'end'})
jQuery 1.6+稍微更简洁:
var e = jQuery.Event( 'keydown', { which: $.ui.keyCode.ENTER } );
$('input').trigger(e);
(如果你不使用jQuery UI,请改用适当的键码。)
console.log( String.fromCharCode(event.charCode) );
我想不需要映射角色。
如果你想触发keypress或keydown事件,那么你需要做的是:
var e = jQuery.Event("keydown");
e.which = 50; // # Some key code value
$("input").trigger(e);