如何在TypeScript中派发固定X、Y坐标的鼠标事件
如何派发指定X/Y坐标的鼠标事件
你需要用MouseEvent构造函数来创建带坐标的鼠标事件,原生Event是基础事件类型,不支持鼠标坐标参数,具体实现如下:
- 创建指定坐标的鼠标事件,以点击事件为例:
// 构造鼠标点击事件,设置视口坐标clientX/clientY const clickEvent = new MouseEvent('click', { clientX: 100, clientY: 200, bubbles: true, // 允许事件冒泡,按需设置 cancelable: true // 允许事件被取消,按需设置 }); // 派发给window window.dispatchEvent(clickEvent);
- 不同场景的坐标参数:
clientX/clientY:相对于浏览器视口的坐标(不含滚动条偏移)pageX/pageY:相对于整个文档的坐标(包含滚动条偏移)offsetX/offsetY:相对于事件目标元素的坐标
如果需要派发其他鼠标事件(比如mousemove、mousedown),只需要替换第一个参数的事件名即可:
const moveEvent = new MouseEvent('mousemove', { pageX: 150, pageY: 250 }); window.dispatchEvent(moveEvent);
内容的提问来源于stack exchange,提问作者Lausa
相关产品推荐
相关产品推荐

