什么构成用户手势

jon*_*ndl 5 javascript google-chrome html5-fullscreen

我最近为 javascript 编写了一个菜单界面,它可以让您动态地向其中添加选项,并且主要与 mouseEnter Events 一起使用。我通过请求/退出全屏向它添加了一些基本的视频控件,这些控件大部分时间显示在这些 mouseEnter 事件之一上,Failed to execute 'requestFullscreen' on 'Element': API can only be initiated by a user gesture.但是(奇怪的部分:) 有时它可以工作,我不确定浏览器 api 如何决定一个动作是用户手势与否 oO 任何帮助将不胜感激,谢谢

Kai*_*ido 7

以下是规范中定义的可以“通过用户激活”触发的事件列表:

  • 改变
  • 点击
  • 上下文菜单
  • 双击
  • 鼠标向上
  • 指针向上
  • 重启
  • 提交
  • 触摸端

当他们说“用户手势”时,这就是您的错误消息所指的内容。

mouseenter 不在此列表中。

最有可能的是,当它起作用时,是因为其中一个事件确实发生在不到几毫秒之前(IIRC 目前在 Chrome 中为 50 毫秒)。