我想在离开时继续访问一个网站。是否可以做到像这样:
setInterval(function(){
//have javascript press the button with a certain id
},100);
我在考虑将其放入智能搜索栏中,以便运行代码。
我想在离开时继续访问一个网站。是否可以做到像这样:
setInterval(function(){
//have javascript press the button with a certain id
},100);
按下回车键会触发一个事件。您需要确定他们正在侦听哪个事件监听器。我将在以下示例中使用 keyup
:
假设 el
是您想要在其上按下回车键的元素的变量。我不确定您如何获取该元素,但我相信您知道。
var evt = new CustomEvent('keyup');
evt.which = 13;
evt.keyCode = 13;
el.dispatchEvent(evt); //This would trigger the event listener.
没有任何办法可以真正模拟硬件操作。它只是触发事件监听器。
例如,调用el.click()
只是调用事件监听器的回调函数,而不是实际按下键。
因此,当您向元素添加事件监听器时,第一个参数是event
对象。
el.addEventListener('keyup', function(event) {
//Do Something
});
dispatchEvent
在el
上被调用时,event
等同于evt
如果程序员使用了:
el.onkeyup = function(event) {
//do whatever.
}
这其实很简单。
只需要调用el.onkeyup(evt);
因为onkeyup
是一个函数。
我为什么使用CustomEvent
而不是KeyboardEvent
,是因为new KeyboardEvent('keyup')
返回的对象具有属性which
和keyCode
,无法在不使用Object.defineProperty
或Object.defineProperties
的情况下重写。