Jquery/Javascript代码模拟键入在谷歌chrome控制台的文本字段
Jquery/Javascript code to simulate key typing in a text field in google chrome console
我有一个带有自动完成扩展程序的输入框。我想用jquery或javascript模拟按键。按下键应该会打开自动补全弹出窗口。
我搜索模拟使用jquery按键,并提出了这些答案:1)用jQuery模拟按键2)从Javascript控制台模拟按键事件3) JQuery模拟输入字段
上的按键事件所有这些都允许我一次只模拟一个键。但如果我想允许批处理键事件呢?例如,我想在一行代码中直接键入"abcde"文本,而不必键入每个字符的键代码。
编辑:
我正在尝试使用谷歌chrome控制台模拟按键。没有一个答案对我有用:(
是否可以通过jquery/javascript或其他库?
这段代码模拟在输入框中输入:
var txt = "Lorem ipsum dolor";
var timeOut;
var txtLen = txt.length;
var char = 0;
var tb = $("#tb").attr("value", "|");
(function typeIt() {
var humanize = Math.round(Math.random() * (200 - 30)) + 30;
timeOut = setTimeout(function () {
char++;
var type = txt.substring(0, char);
tb.attr("value", type + '|');
typeIt();
if (char == txtLen) {
tb.attr("value", tb.attr("value").slice(0, -1))
clearTimeout(timeOut);
}
}, humanize);
}());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" id="tb">
根据我的理解,您正在寻找一种不处理每次按键自动完成的方法,并希望允许用户添加适当的单词然后处理它。
解决方案- 在textbook上添加一个keydown事件。
- 创建一个SetInterval,一旦达到阈值时间将触发事件。
- 重置每次按键的时间间隔,以确保阈值时间保持不变,无论查询时间有多长。
- 清除一次自动完成处理的间隔,这样你就不会每秒钟都击中功能。
下面是描述相同内容的JSFiddle
代码var interval = 0;
var callInterval = null;
function registerEvents(){
$("#txtField").on("keydown", function(e){
var keyCode = e.keyCode ? e.keyCode : e.which;
console.log(keyCode);
if(!callInterval){
intervalInit();
}
else{
resetInterval();
}
});
}
function intervalInit(){
interval = 0;
callInterval = setInterval(function(){
interval++;
if(interval >=1){
fetchAutoCompleteData($("#txtField").val());
window.clearInterval(callInterval);
callInterval = null;
}
},1000);
}
function resetInterval(){
window.clearInterval(callInterval);
intervalInit()
}
function fetchAutoCompleteData(data){
console.log("Data: ", data)
}
(function(){
registerEvents();
})()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<input type="text" id="txtField"/>
相关文章:
- .scroll()函数在上次更新后在谷歌chrome中定位闪烁
- 如何让JS脚本在导航后继续运行(谷歌chrome控制台)
- 如何知道你右键点击谷歌chrome扩展是什么
- 对齐底部的DIV-谷歌Chrome扩展
- 谷歌cookie是否存在于chrome,火狐,即在phantomjs中发出某些请求时发送的浏览器
- 当我用ctrl+p搜索时,为什么要在谷歌chrome上使用inspect来调试缺少显示文件js
- 从谷歌chrome中的任何网页获取所有tel标签
- 如何缩小我的谷歌chrome扩展's的javascript文件
- 当页面加载时,使谷歌chrome浏览器成为全屏浏览器
- 谷歌Chrome元素仍然存在:即使从光标移开,也要悬停
- 谷歌Chrome Chrome.usb/Chrome.hid锁定设备
- 我的jquery代码在谷歌chrome控制台中工作,而不是在保存它之后
- 谷歌Chrome扩展在用Javascript打开的弹出窗口中工作吗
- 基本的谷歌chrome扩展消息传递不起作用
- 如何操作谷歌chrome's PRINT选项
- 谷歌Chrome在范围滑块禁用时卡住了's的更改功能
- 谷歌Chrome日期选择器事件
- 如何允许在谷歌chrome中通过触摸屏放大和缩小iframe
- 谷歌chrome和FPS的奇怪行为
- pin不显示在Chrome谷歌地图Api V3