5

我可以发送一个简单的点击事件(没有任何可选参数):

var clickEvt = document.createEvent("MouseEvents");
clickEvt.initEvent("click");
element.dispatchEvent(clickEvt);

但是如何调度双击事件呢?

4

3 回答 3

4

只需替换"click""dblclick"in clickEvt.initEvent

var dblclickEvt = document.createEvent("MouseEvents");
dblclickEvt.initEvent("dblclick");
element.dispatchEvent(dblclickEvt);
于 2012-07-23T16:01:17.057 回答
3

已接受的答案 ( Event.initEvent()) 中使用的功能已被弃用

相反,使用特定的事件构造函数,如Event()

所以要回答你的问题,它会是这样的:

var doubleClickEvent = new Event('dblclick');      //define double click event

element.dispatchEvent(doubleClickEvent);           //trigger double click even
于 2017-07-27T19:41:47.473 回答
0

这适用于 Chrome@83

const event = new MouseEvent('dblclick', {
  bubbles: true,
  cancelable: true,
  view: window
});

const buttonEl = document.querySelector('#my-button');
buttonEl.dispatchEvent(event);
于 2020-07-21T03:28:27.187 回答