Javascript:禁用光标

Javascript:禁用光标,javascript,Javascript,我想在浏览器中完全禁用光标,类似于和 打开这些项目时,光标将被完全禁用。在浏览器内部或外部都没有光标。我想知道怎么做 我对cursor:none不感兴趣他们似乎正在使用。来自MDN: 指针锁定(以前称为鼠标锁定)提供基于鼠标随时间移动(即增量)的输入方法,而不仅仅是鼠标光标在视口中的绝对位置。它使您能够访问原始鼠标移动,将鼠标事件的目标锁定到单个元素,消除了对鼠标在单个方向上移动距离的限制,并将光标从视图中移除。例如,它非常适合第一人称3D游戏 除此之外,该API还适用于需要大量鼠标输入来控制移

我想在浏览器中完全禁用光标,类似于和

打开这些项目时,光标将被完全禁用。在浏览器内部或外部都没有光标。我想知道怎么做


我对
cursor:none不感兴趣

他们似乎正在使用。来自MDN:

指针锁定(以前称为鼠标锁定)提供基于鼠标随时间移动(即增量)的输入方法,而不仅仅是鼠标光标在视口中的绝对位置。它使您能够访问原始鼠标移动,将鼠标事件的目标锁定到单个元素,消除了对鼠标在单个方向上移动距离的限制,并将光标从视图中移除。例如,它非常适合第一人称3D游戏

除此之外,该API还适用于需要大量鼠标输入来控制移动、旋转对象和更改条目的任何应用程序,例如,允许用户只需在不单击任何按钮的情况下移动鼠标即可控制视角。然后释放这些按钮以执行其他操作。其他示例包括用于查看地图或卫星图像的应用程序

指针锁定允许您访问鼠标事件,即使光标越过浏览器或屏幕的边界。例如,用户可以通过不停地移动鼠标来继续旋转或操纵三维模型。如果没有指针锁定,旋转或操作会在指针到达浏览器或屏幕边缘时停止。游戏玩家现在可以点击按钮并来回滑动鼠标光标,而不用担心离开游戏区域,意外地点击另一个应用程序会使鼠标焦点离开游戏

关于如何使用它的详细信息,特别是跨浏览器关注点,可以在该页面上找到,但简而言之(代码段全部从MDN复制):

请求指针锁:

canvas.onclick = function() {
  canvas.requestPointerLock();
}
document.addEventListener('pointerlockchange', lockChangeAlert, false);
对指针锁定状态更改作出反应:

function lockChangeAlert() {
  if(document.pointerLockElement === canvas) {
    console.log('The pointer lock status is now locked');
    document.addEventListener("mousemove", canvasLoop, false);
  } else {
    console.log('The pointer lock status is now unlocked');  
    document.removeEventListener("mousemove", canvasLoop, false);
  }
}
处理鼠标移动事件的示例函数:

function canvasLoop(e) {
  var movementX = e.movementX ||
      e.mozMovementX          ||
      e.webkitMovementX       ||
      0;

  var movementY = e.movementY ||
      e.mozMovementY      ||
      e.webkitMovementY   ||
      0;

  x += movementX;
  y += movementY;

  var animation = requestAnimationFrame(canvasLoop);

  tracker.innerHTML = "X position: " + x + ', Y position: ' + y;
}

他们似乎在使用这个工具。来自MDN:

指针锁定(以前称为鼠标锁定)提供基于鼠标随时间移动(即增量)的输入方法,而不仅仅是鼠标光标在视口中的绝对位置。它使您能够访问原始鼠标移动,将鼠标事件的目标锁定到单个元素,消除了对鼠标在单个方向上移动距离的限制,并将光标从视图中移除。例如,它非常适合第一人称3D游戏

除此之外,该API还适用于需要大量鼠标输入来控制移动、旋转对象和更改条目的任何应用程序,例如,允许用户只需在不单击任何按钮的情况下移动鼠标即可控制视角。然后释放这些按钮以执行其他操作。其他示例包括用于查看地图或卫星图像的应用程序

指针锁定允许您访问鼠标事件,即使光标越过浏览器或屏幕的边界。例如,用户可以通过不停地移动鼠标来继续旋转或操纵三维模型。如果没有指针锁定,旋转或操作会在指针到达浏览器或屏幕边缘时停止。游戏玩家现在可以点击按钮并来回滑动鼠标光标,而不用担心离开游戏区域,意外地点击另一个应用程序会使鼠标焦点离开游戏

关于如何使用它的详细信息,特别是跨浏览器关注点,可以在该页面上找到,但简而言之(代码段全部从MDN复制):

请求指针锁:

canvas.onclick = function() {
  canvas.requestPointerLock();
}
document.addEventListener('pointerlockchange', lockChangeAlert, false);
对指针锁定状态更改作出反应:

function lockChangeAlert() {
  if(document.pointerLockElement === canvas) {
    console.log('The pointer lock status is now locked');
    document.addEventListener("mousemove", canvasLoop, false);
  } else {
    console.log('The pointer lock status is now unlocked');  
    document.removeEventListener("mousemove", canvasLoop, false);
  }
}
处理鼠标移动事件的示例函数:

function canvasLoop(e) {
  var movementX = e.movementX ||
      e.mozMovementX          ||
      e.webkitMovementX       ||
      0;

  var movementY = e.movementY ||
      e.mozMovementY      ||
      e.webkitMovementY   ||
      0;

  x += movementX;
  y += movementY;

  var animation = requestAnimationFrame(canvasLoop);

  tracker.innerHTML = "X position: " + x + ', Y position: ' + y;
}

谢谢你,伙计。没想到我会知道怎么做。更酷的是,你还向我展示了如何找到鼠标垫的动作。谢谢你。没想到我会知道怎么做。更酷的是,你还向我展示了如何找到鼠标垫的运动。这是一个真正的问题。我不是要求某人调试代码或其他任何东西。如果你要投反对票,请留下答复。这是一个真正的问题。我不是要求某人调试代码或其他任何东西。如果你要投反对票,请留下答复。