相关疑难解决方法(0)

是否可以通过编程方式模拟按键事件?

是否可以在JavaScript中以编程方式模拟按键事件?

javascript dom-events

342
推荐指数
16
解决办法
42万
查看次数

在JavaScript中触发键盘事件

我正在尝试使用JavaScript在Safari中模拟键盘事件.

我试过这个:

var event = document.createEvent("KeyboardEvent");
event.initKeyboardEvent("keypress", true, true, null, false, false, false, false, 115, 0);
Run Code Online (Sandbox Code Playgroud)

......还有这个:

var event = document.createEvent("UIEvents");
event.initUIEvent("keypress", true, true, window, 1);
event.keyCode = 115;
Run Code Online (Sandbox Code Playgroud)

但是,在尝试这两种方法之后,我遇到了同样的问题:在执行代码之后,事件对象的keyCode/ whichproperties设置为0,而不是115.

有谁知道如何在Safari中可靠地创建和发送键盘事件?(如果可能的话,我宁愿用纯JavaScript实现它.)

javascript safari webkit keyboard-events dom-events

73
推荐指数
4
解决办法
16万
查看次数

以不弃用的方式模拟键盘按键?

我正在寻找一种模拟键盘按键的方法(如标题建议).我环顾四周,主要找到了这两个问题:

这些问题是他们都使用KeyboardEvent.initKeyboardEvent()根据MDN不推荐使用的事件.没有弃用功能,有没有不同的方法来完成同样的事情?

我想知道这一点,因为我正在使用Chrome的TamperMonkey扩展程序为YouTube创建脚本.[space]按下时,此脚本将触发K. K是YouTube的切换播放/暂停按钮.我让[space]听众与下面的代码完美配合:

document.addEventListener("keydown", function(e) {
    if(e.keyCode==32) {
        e.preventDefault();
    }
}, false);
Run Code Online (Sandbox Code Playgroud)

另外,我真的在寻找一种纯粹的JavaScript方法.

javascript deprecated

6
推荐指数
1
解决办法
846
查看次数

如何在 JavaScript 中模拟/触发 tab 键按下?

我正在尝试tab在 JavaScript 中触发键的按下。

场景: 2 个 HTML 输入元素。最初的焦点是第一个输入,然后等待 3 秒,然后模拟按下 Tab 键,这应该将焦点设置为第二个输入。

问题:调度tab keydown事件什么都不做。

小提琴:

我在寻找 JavaScript 解决方案。没有 jQuery 谢谢。

使用下面的 simulant.js 的小提琴示例:

HTML:

<input id="first">
<input id="second">
<p>Dispatching Tab keydown event in 3 seconds... <span id="done" style="color:red"></span></p>
Run Code Online (Sandbox Code Playgroud)

JavaScript:

//simulates keydown of the tab key
function simulateTab() {
    var TAB_KEY = 9;    
    simulant.fire(document, 'keydown', { keyCode: TAB_KEY });
}

//focus 'first' input
document.getElementById('first').focus();

//focus 'second' …
Run Code Online (Sandbox Code Playgroud)

javascript automation dom-events

5
推荐指数
0
解决办法
8323
查看次数