javascript - JavaScript MouseEvent 中的 e.metaKey 指的是哪个键?

标签 javascript browser mouseevent dom-events keycode

MouseEvent.metaKey 似乎不起作用。在 FireFox 和 Chrome 上,即使我在单击时按住 Win 键,它也会返回 false:

<!doctype html>
<button onclick=alert(event.metaKey)>click while holding "meta key"</button>

MDN states :

The MouseEvent.metaKey read-only property returning a Boolean that indicates if the Meta key was pressed (true) or not (false) when the event occured.

Note: On Macintosh keyboards, this is the command key (). On Windows keyboards, this is the windows key ().

Browser Compatibility

enter image description here

MDN 声称 MouseEvent.metaKey 在 FireFox 和 Chrome 上受支持,但它不起作用。

MouseEvent.metaKey 指的是哪个键?

为什么上面的代码不起作用?

最佳答案

如果您询问在 Windows 系统上必须按哪个键才能使 MouseEventmetaKey 属性为 true,答案是取决于浏览器。并且一些 Windows 浏览器根本不支持它并且总是返回 falseundefined

我找不到浏览器对 metaKey 支持的最新图表,尽管确实有 old one at QuirksMode.org .

如果您使用的是 jQuery,metaKeyit normalizes for cross-browser compatibility 的事件属性之一。 .

如果您需要为您网站上的某些功能实现按键 + 鼠标事件,我会使用 Shift 键,以便它适用于所有系统。 (如果您需要多个按键选项,我建议您重新考虑您的设计。)

关于javascript - JavaScript MouseEvent 中的 e.metaKey 指的是哪个键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6245868/

相关文章:

javascript - 克隆并更改新的 radio 检查

html - 根据浏览器高度调整填充值

javascript - 在 JavaScript 中绘制文本字段的实现

javascript - 用 jQuery 模拟鼠标的圆形移动?

javascript - 使用javascript将文本文件中的数据导入数组

javascript - 如何检测外部javascript是否已加载?

javascript - 收到 JSON 时的 jQuery 事件 - 一次性 URL

c# - 通过由特定形式的 onclick 识别的 webBrowser 按下网站上的按钮

php 内容从未被浏览器缓存?

javascript - 使用鼠标事件通过 Javascript 移动图像