首页 > 解决方案 > 使用 JavaScript 将鼠标悬停在元素上?

问题描述

注意:我想悬停元素而不是在悬停时触发事件。(一种使用 Javascript 的自动悬停)

我想通过在 chrome 控制台中运行 JS 来随机对我墙上的 Facebook 帖子的评论做出反应。

为此,我编写了这一行来测试列表中的第一个索引:

document.querySelectorAll('._6ijk a._6a-y')[0].click() 

当我手动将鼠标悬停在一个元素上并使用此代码时,它可以工作,选择器是:

document.querySelector("[aria-label=Love]").click()

但在悬停之前没有这样的元素"[aria-label=Love]"

但是,除了“喜欢”按钮之外的所有其他反应都出现在“喜欢”按钮上,这让我陷入了麻烦。有什么好的解决方案可以解决这种情况吗?

标签: javascript

解决方案


您首先需要创建一个Event,然后在所需的 DOM 元素上分派它。

这是在mouseover事件中创建的方法

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

然后自己添加eventListener到您的元素中。

yourelement = document.querySelector('css selector here');
yourelement.addEventListener('mouseover', function() {
      //something here
});

……最后dispatchEvent

yourelement.dispatchEvent(event);

我希望它适用于您想要实现的任何目标!干杯!


推荐阅读