如何在脚本中触发键盘事件,主要是左右方向键
有个网站上,里面有个可编辑的 div ,想要通过自动化方式录入标签,暂时想到的办法是通过键盘的方向键来弄,往里面添加#开头的内容,会触发一个选择的层,然后选择内容。
它的作用是一个 话题标签,普通文本变成话题标签。
实际操作过程中发现,通过键盘的方向键可以触发这个选择。比如说
先输入**#油猴中文网 **
在录入的过程中,那个选择层会一直变化,根据录入内容变化。
比如录入**#油猴**这2个字,就会有个层可以选择了,再多写一些,就有新的内容选择。
为了加快速度,目前的做法是 直接粘贴** #油猴中文网 ** (**通过appendChild添加文字**)
然后光标通过方向键操作,移动到 “文”字后面,然后移到 “网”后面,就能得到我要的效果了。
网上找的代码都不太行,没触发。
代码1失败:
```
function searchContact(text)
{
var input = document.getElementsByClassName("input input-search");
input.value = "";
var evt = document.createEvent("TextEvent");
evt.initTextEvent ("textInput", true, true, window, text, 0, "en-US");
input.focus();
input.dispatchEvent(evt);
}
```
代码2失败:
```
var k_down = function( key )
{
var eventObj = document.createEvent("KeyboardEvent");
eventObj.initEvent("keydown", true, true);
eventObj.keyCode = key;
eventObj.key = key;
eventObj.which = key;
eventObj.ctrlKeyArg = false;
document.body.dispatchEvent(eventObj);
};
var k_up = function( key )
{
var eventObj = document.createEvent("KeyboardEvent");
eventObj.initEvent("keyup", true, true);
eventObj.keyCode = key;
eventObj.key = key;
eventObj.which = key;
eventObj.ctrlKeyArg = false;
document.body.dispatchEvent(eventObj);
};
``` 这里有个很重要的问题是,这个思路是不是错了,根本方向就不对,也好让我死心了,搞了一个多星期了,没啥进展 思路来说是没错的
但是不能完全根据网上找的代码...
要去调试网页自身js来判断要传入什么事件,有没有检测,可不可以直接赋值什么的 李恒道 发表于 2023-6-12 19:51
思路来说是没错的
但是不能完全根据网上找的代码...
要去调试网页自身js来判断要传入什么事件,有没有检测 ...
赋值也比较难,因为那个层是它自己搜索出来的,逻辑也比较复杂。所以想着采用它的方法 bigrain 发表于 2023-6-12 20:28
赋值也比较难,因为那个层是它自己搜索出来的,逻辑也比较复杂。所以想着采用它的方法 ...
这个取决于具体的调试了 建议有问题最好贴一下测试网址,你这个描述我看着就很费解,至少给一个审查元素的截图吧。
页:
[1]