Javascript可以为我按下Enter键吗?

rob*_*ger 4 javascript keyboard bots button

有一个网站,我想在我离开时继续点击Enter。是否可以做类似的事情

setInterval(function(){
    //have javascript press the button with a certain id
},100);
Run Code Online (Sandbox Code Playgroud)

我当时正在考虑将其放在智能搜索栏中,以便运行代码。

Edw*_*oso 7

按下Enter键会触发event。您将必须弄清楚他们正在侦听哪个事件侦听器。我将keyup在以下示例中使用:

假定el是要按下的元素的变量。我不确定您将如何获取该元素,但我确定您知道。

var evt = new CustomEvent('keyup');
evt.which = 13;
evt.keyCode = 13;
el.dispatchEvent(evt); //This would trigger the event listener.
Run Code Online (Sandbox Code Playgroud)

无法实际模拟硬件操作。它只是触发事件监听器。

例如,调用el.click()仅调用事件侦听器的回调,而没有实际按下键。

因此,您知道如何将事件侦听器添加到元素时,第一个参数是event对象。

el.addEventListener('keyup', function(event) {
   //Do Something
});
Run Code Online (Sandbox Code Playgroud)

以上event等于evt通话dispatchEventel

如果程序员使用:

el.onkeyup = function(event) {
  //do whatever.
}
Run Code Online (Sandbox Code Playgroud)

这非常容易。

刚打电话 el.onkeyup(evt);

因为onkeyup是一个功能。

为什么我用CustomEvent的,而不是KeyboardEvent因为new KeyboardEvent('keyup')回报是与属性的对象whichkeyCode不能在不使用的被重写Object.definePropertyObject.defineProperties