javascript - 使用 javascript 和 Tampermonkey 在 Input 中模拟 Enter 键
问题描述
我正在尝试为 Tampermonkey 编写一个脚本,该脚本将在文本输入中插入下拉菜单中选定项目的文本并模拟按下 Enter 键,以便触发分配给该输入的事件。
这就是我定义我的测试的方式input
,
<input type="text" placeholder="Topics" id="TText" onkeydown="checkEnter(event)">
这是在按下Enter时将input
文本附加到段落sTopics的函数,用于测试目的
function checkEnter(event) {
var sTopics;
var eKey = event.key;
if (eKey == "Enter") {
sTopics = document.getElementById("selTopics");
sTopics.innerHTML += document.getElementById("TText").value.concat("<br>");
document.getElementById("TText").value = "";
}
}
这是从下拉菜单中选择项目时触发的功能,
function setTopic(newTopic) {
const ke = new KeyboardEvent('keydown', {
bubbles: true, cancelable: true, keyCode: 13
});
document.getElementById("TText").value = newTopic;
document.getElementById("myDropdown").classList.toggle("show");
document.getElementById("TText").dispatchEvent(ke);
}
我从这里得到了KeyboardEvent解决方案,但是,当我从 DD 中选择一个项目时,所发生的只是文本被添加到 中,Enter键未被“检测到”(文本没有被添加到段落和输入文本不会被清除。input
知道我做错了什么,我该如何解决?
提前谢谢了!:)
解决方案
推荐阅读
- javascript - 为什么 backgroundimage 在 chrome 中不是 cssImageValue?我如何使用画布处理背景图像但不制作新图像?
- javascript - Vue 添加到现有会话存储阵列
- sqlite - 如何使用 SQLite CLI 的“--skip 1”选项?
- firebase - futureBuilder 无法从快照中获取数据
- java - 套接字上的空指针异常
- multithreading - 当线程数翻倍时,我的矩阵乘法程序需要四倍的时间
- xamarin - Xamarin Firebase 的问题订阅没有密钥的孩子 - Newtonsoft.Json 错误
- vim - 建议我 vimL 教程或文档
- python - 将单个 Google 工作表工作簿的所有工作表选项卡属性转换为数据框
- c# - 如何使用 async/await 实现具有两个等待点的任务