e.metaKey在JavaScript MouseEvent中引用了哪个键?

Pac*_*ier 14 javascript browser keycode mouseevent dom-events

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

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

MDN 声明:

MouseEvent.metaKey返回a 的只读属性Boolean指示在事件发生时Meta键是否被按下(true)或不是(false).

注意:在Macintosh键盘上,这是命令键().在Windows键盘上,这是Windows键().

浏览器兼容性

在此输入图像描述

MouseEvent.metaKeyFireFox和Chrome支持MDN声明,但它不起作用.

哪个键 MouseEvent.metaKey 指的是什么?

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

nnn*_*nnn 9

如果你问,你将不得不为了在Windows系统上按了哪个键MouseEventmetaKey财产是true,答案是,这取决于浏览器.有些Windows浏览器根本不支持它,总是返回falseundefined.

我找不到最新的浏览器支持图表metaKey,尽管在QuirksMode.org上有一个非常旧的.

如果您使用的是jQuery,metaKey它是为跨浏览器兼容性规范化的事件属性之一.

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