如何在reactjs点击事件中检测Click + [Shift,Ctrl,Alt]?

Jac*_* Hu 11 javascript reactjs

当用户单击+ [Ctrl]时我想做其他一些事情,但似乎我无法检测用户在点击时是否按下Ctrl键.

我复制下面的事件对象信息.

bubbles    :    false
cancelBubble    :    false
cancelable    :    false
currentTarget    :    react
defaultPrevented    :    false
eventPhase    :    2
isTrusted    :    false
path    :    Array[1]
returnValue    :    true
srcElement    :    react
target    :    react
timeStamp    :    5690056.695
type    :    "react-click"
Run Code Online (Sandbox Code Playgroud)

我可以在arguments [0] -Proxy Object中看到ctrlKey属性.但是这个对象是无法访问的('未捕获的非法访问'):

[[Target]]
:
SyntheticMouseEvent
_dispatchInstances:ReactDOMComponent
_dispatchListeners:(e)
_targetInst:ReactDOMComponent
altKey:false
bubbles:true
button:0
buttons:0
cancelable:true
clientX:275
clientY:315
ctrlKey:false
Run Code Online (Sandbox Code Playgroud)

小智 18

您的点击处理功能将具有以下格式:

clickHandler: function (event, value) {

   event.stopPropagation();

   // In that case, event.ctrlKey does the trick.
   if (event.ctrlKey) {
        console.debug("Ctrl+click has just happened!");
   }
}
Run Code Online (Sandbox Code Playgroud)