2013-10-01 31 views
5

我知道,在大多数浏览器(最新一代)中,当您键入像'A'或空格之类的任何按键时,鼠标光标会被隐藏。这是为了让用户看到他键入的内容。 只要您为像素移动鼠标,光标就会恢复可见。防止光标在按下按键后隐藏在浏览器中

现在,这里是问题 - 这发生在任何地方浏览器,甚至当我侧重非输入元素像一个div或者这样的。不过,我不希望浏览器在用户按下某个键后隐藏我的光标,因为我正在使用快捷键作为键。

所以,问题是 - 有什么办法或恶作剧还是什么防止这种情况的发生和/或让光标后插入钥匙再次自动出现?

我已经尝试过像无形的div网络等,但都没有成功的各种“黑客”。

编辑:由于质疑,我在最新的MAC-OS-X经历上的每个浏览器的这种行为(最新的Chrome,火狐最新的,最新的Safari)。

+3

不能与在Linux/Ubuntu的Chrome或Firefox发生。你确定你没有安装插件吗?或者启用了鼠标驱动程序的功能? –

+1

我试图重现你描述的行为,但似乎它不适合我。 Windows7 +最新的Chrome或最新的Firefox。你能指定你正在使用的环境吗? – 4ndrew

+0

在Mac OS X上的Chrome中确认10.8.4 –

回答

2

我只是想到了一个可能的解决方案这一点,但是这将是真的很难做到这一点的方式,是不讨厌的用户:

  1. 当光标移动时,将其保存的位置
  2. 当文档观察一个KEYUP,显示出光标的图像向在实际光标被视为最后的精确坐标(它仍然存在,但隐藏)
  3. 当实际光标再次移动,隐藏图像(实际上,合并此功能与1)

这里的问题将被知道要显示什么光标图像。您首先必须检测用户是否位于Mac(或隐藏光标的另一个操作系统)上,而且还要根据您悬停的内容显示什么光标。这意味着对于你悬停的每个元素,你还必须检测显示哪个光标并显示相同光标的图像。

您可以通过添加覆盖徘徊的链接和输入(分别pointertext)一些CSS规则涵盖基本/默认值,但如果用户使用他的操作系统定义的自定义游标?

我还没有尝试过任何代码然而,这仅仅是理论上应该工作,所以让我知道如果你需要用它更多的帮助,但老实说,我会建议不要试图做到这一点的概念。它会带来更多的麻烦而不是解决办法,imo。

CNC中 这里是概念验证:http://jsfiddle.net/4rKMx/2/

+0

我使用自定义光标。你的“解决方案”如何处理? –

+0

不是。这就是我在这个答案中明确指出的,这就是我不推荐的原因。我只是想完整地指出,在技术上,这是可能的(尽管这不是一个完美的解决方案) –

+0

虽然这是一个非常好的主意!我唯一遇到的麻烦是我的游标是* .cur格式,所以不能直接使用图像渲染。 – anderswelt

4

这不是浏览器行为,而是操作系统行为,特别是Mac行为。如果您在浏览器中输入光标,而不是在Mac上的任何应用程序中,则光标不会隐藏。

这意味着浏览器拥有超过光标没有知识或控制的,因为它是从更高的层次隐藏。例如,您可以使用CSS或JavaScript更改光标,但在移动它之前它仍然不会显示。您实际上不能使用JavaScript移动光标,但即使您仍然怀疑它可以帮助,因为操作系统没有收到光标移动的信号。

也可参考这个问题上apple.stackexchange.com: How do I disable hiding of the mouse pointer while typing text?

相关问题