我正在构建一个 HTML5 游戏,我试图将鼠标光标放在特定事件的某个控件上,以便在特定方向上移动始终具有相同的结果。这可能吗?
将鼠标指针移动到特定位置?
IT技术
javascript
mouse
2021-01-26 08:00:03
6个回答
您不能使用 javascript 移动鼠标指针。
如果可以,请考虑一下其含义;)
- 用户认为:“嘿,我想点击这个链接”
- Javascript 将鼠标光标移动到另一个链接
- 用户点击了错误的链接,无意中下载了格式化他的 C 驱动器并吃掉他的糖果的恶意软件
我想如果您不使用真正的(系统)鼠标光标,您可以完成将鼠标光标放置到屏幕的给定区域。
例如,您可以创建一个图像来代替您的光标,处理一个事件,在检测到鼠标进入您的场景时,将系统光标上的样式设置为“无”(sceneElement.style.cursor = 'none'
),然后会显示一个隐藏的图像元素基于预定义的轴/边界框平移,作为光标位于您喜欢的场景中的任何位置。
这样,无论您如何移动实际光标,您的翻译方法都会将图像光标保留在您需要的任何位置。
很好的问题。这确实是 Javascript 浏览器 API 中缺少的东西。我也在和我的团队一起开发 WebGL 游戏,我们需要这个功能。我在 Firefox 的 bugzilla 上打开了一个问题,以便我们可以开始讨论使用 API 来允许鼠标锁定的可能性。这对所有 HTML5/WebGL 游戏开发人员都有用。
如果您愿意,请过来留下您的反馈意见,并为该问题点赞:
https://bugzilla.mozilla.org/show_bug.cgi?id=630979
谢谢!
您可以检测鼠标指针的位置,然后移动网页(与身体位置相对),以便它们悬停在您希望它们单击的位置上。
例如,您可以将此代码粘贴到浏览器控制台的当前页面上(然后刷新)
var upvote_position = $('#answer-12878316').position();
$('body').mousemove(function (event) {
$(this).css({
position: 'relative',
left: (event.pageX - upvote_position.left - 22) + 'px',
top: (event.pageY - upvote_position.top - 35) + 'px'
});
});