howlove 发表于 2024-5-20 11:26

如何使用 JS 模拟鼠标 hover 事件?

比如antd popover 触发方式需要用户进行鼠标hover,会在body里追加并显示对应的 内容。
https://ant-design.antgroup.com/components/popover-cn

如何通过 js 来模拟这个事件

需求背景:老板想在旧项目中做自动化,有个按钮是放在antd popover里,旧项目无法改动,只能通过js去模拟用户鼠标hover触发此事件。


我这边尝试了下面两种方式,都没有效果。
JQuery的trigger方法
$('.ant-btn.css-var-rfq.ant-btn-primary').eq(0).trigger('mouseover')

以及js原生的方法。
const mouseEnterEvent = new MouseEvent('mouseenter', {
    view: window,
    bubbles: true,
    cancelable: true
});
document.querySelector(".ant-btn.css-var-R2albtj5cm.ant-btn-primary").dispatchEvent(mouseEnterEvent);

爱飞的猫 发表于 2024-5-21 01:48

将 `mouseenter` 更换为 `mouseover` 即可。

```js
document.querySelector(".ant-btn.ant-btn-primary").dispatchEvent( new MouseEvent('mouseover', {
    view: window,
    bubbles: true,
    cancelable: true
}));
```


howlove 发表于 2024-5-23 09:52

:'(weeqw 感谢大佬,我找了好久都没找到,终于解决了。
页: [1]
查看完整版本: 如何使用 JS 模拟鼠标 hover 事件?