HTML5 指针锁定API: Pointer Lock API

说明

指针锁定(以前叫做鼠标锁定) 是一种输入方法,这种方法是基于指针的相对位移(movement),而不是绝对位置,而不仅是指针的绝对位置。此API将鼠标指针锁定到特定元素上(同时将指针光标从视图中移除),并获取原始的指针位移,这样就能不受元素边界的约束而无限移动,且不会移出元素。

语法

Pointer lock API 提供两个新的方法、两个新的事件,并对对一个事件进行了扩展。

requestPointerLock 方法

requestPointerLock方法用来请求指针锁定,此方法扩展了 DOM 元素,具体语法如下:

element.requestPointerLock();

注意 requestPointerLock方法可能需要添加浏览器前缀才能使用。

exitPointerLock 方法

exitPointerLock方法用来推出指针锁定,此方法扩展了document对象,具体语法如下:

document.exitPointerLock();

注意 exitPointerLock方法可能需要添加浏览器前缀才能使用。

pointerlockchange 事件

当指针锁定状态改变时(如:调用 requestPointerLockexitPointerLock,用户按下 ESC 键),pointerlockchange 事件被分发到 document。 这是一个简单事件,不包含任何的额外数据。

注意 pointerlockchange 事件可能需要添加浏览器前缀才能使用。

pointerlockerror 事件

当调用 requestPointerLockexitPointerLock而引发错误时,pointerlockerror 事件被分发到 document。 这是一个简单事件,不包含任何的额外数据。

注意 pointerlockerror 事件可能需要添加浏览器前缀才能使用。

movement 事件的扩展

Pointer lock API 对MouseEvent事件增加了 movement 属性:

partial interface MouseEvent {
    readonly attribute long movementX;
    readonly attribute long movementY;
};

注意 movement 属性可能需要添加浏览器前缀才能使用。

其他注意事项

只有网页处于全屏状态下,指针锁定才会成功,当退出全屏后,指针锁定也会自动退出。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,559评论 1 11
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,161评论 1 32
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,231评论 0 21
  • 至哥哥所里已经工作了5个月,愿意不愿意都顺水推舟的工作下去,尽量尽职,内心其实是与自己想法不一致的。 这是一段怎样...
    jiazy2017阅读 168评论 0 0