javascript - mousemove 不起作用,只能在单击时运行

标签 javascript addeventlistener

我希望我的网站在鼠标移动时播放音乐。为了克服 chrome 新的自动播放功能。所以我这样设置:

 // creates an mousemove listener to the html element
   document.body.addEventListener('mousemove', () => {
 // starts audio when page loads
    myAudio.play()
      });

Chrome 太智能了。这是永远做不到的。

最佳答案

您需要将焦点放在 body 上(或放在 body 中的元素上)才能使其触发 mousemove。这就是为什么你必须先点击。
因此,从此处删除 body document.body.addEventListener('mousemove'...

var myAudio = new Audio('http://soundbible.com/mp3/Tyrannosaurus%20Rex%20Roar-SoundBible.com-807702404.mp3');

// creates an mousemove listener to the html element
   document.addEventListener('mousemove', () => {
 // starts audio when page loads
    myAudio.play()
      });

关于javascript - mousemove 不起作用,只能在单击时运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51529911/

相关文章:

javascript - 事件处理程序未从 redux 状态访问正确的值

javascript - 事件监听器和本地数据存储

Javascript::audio.pause 是否将 audio.currentTime 值重置为 0?

javascript - 当我运行我为移动网站(Angular)编写的 Protractor 脚本时,Chrome 和模拟器都会自动关闭

javascript - JSON 请求不起作用 : Cross origin request not supported on file://URL

javascript - 客户端 JavaScript 的 sprintf 等价物

Javascript 如何判断监听器上是否发生了 event.preventDefault

javascript - 如何更改默认的Literally Canvas绘图区域高度?

javascript - 如何使用 javascript 从特定标签获取 HTML 文档中的所有文本节点?

javascript - addEventListener 仅在页面刷新时起作用?