这几天我一直在尝试这样做。我已经阅读了大量其他类似的问题,但还没有任何帮助。我想要做的是模拟确切的事件,例如用户可以进行的有机按键到文本输入字段。因此,它将输入的“值”设置为新值,就像真正的按键一样工作。 它至少需要在一种浏览器上工作,无论是 Chrome、Mozzila 还是 IE,都完全没有关系。 我需要在输入中一个字母一个字母地输入,但如果它适用于 1 个字母,它肯定会适用于几个字母。
请注意:不能设置input的值。只有人工按键事件可以帮助我。
最佳答案
您可以使用应用程序与浏览器交互或控制浏览器。使用类似 http://www.seleniumhq.org/ 的库可以提供帮助。
这是从 Definitive way to trigger keypress events with jQuery 触发按键事件的代码
var e = jQuery.Event("keydown");
e.which = 50; // # Some key code value
$("input").trigger(e);
您确定设置该值对您不起作用吗?如果将值设置为它加上新字符会怎样?此处包含一个可运行的示例。
function typeLetter( letter ) {
$( '#input' ).val( $( '#input' ).val() + letter );
}
typeLetter( 'a' );
setTimeout( function() { typeLetter( 'b' ); }, 500 );
setTimeout( function() { typeLetter( 'c' ); }, 1000 );
setTimeout( function() { typeLetter( 'd' ); }, 1500 );
setTimeout( function() { typeLetter( 'e' ); }, 2000 );
setTimeout( function() { typeLetter( 'f' ); }, 2500 );
setTimeout( function() { typeLetter( 'g' ); }, 3000 );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="input" >
关于javascript - 如何在 javascript 或 JQuery 中模拟 "organic"按键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48052709/