Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检测点击+;[Shift,Ctrl,Alt]在点击事件中?_Javascript_Reactjs - Fatal编程技术网

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

Javascript 如何检测点击+;[Shift,Ctrl,Alt]在点击事件中?,javascript,reactjs,Javascript,Reactjs,当用户单击+[Ctrl]时,我想做一些其他事情,但似乎无法检测到用户在单击时是否按了Ctrl 我复制下面的事件对象信息 bubbles : false cancelBubble : false cancelable : false currentTarget : react defaultPrevented : false eventPhase : 2 isTrusted : false path :

当用户单击+[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"
我可以在参数[0]-代理对象中看到ctrlKey属性。但此对象不可访问(“未捕获的非法访问”):


在该元素的
click
事件中,您可以检查单击时是否按下了按钮(在本例中使用
ctrl
keycode

您的单击处理功能的格式如下:

clickHandler: function (event, value) {

   event.stopPropagation();

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

您可以在render()方法中使用下面的代码

可能的
clickHandler: function (event, value) {

   event.stopPropagation();

   // In that case, event.ctrlKey does the trick.
   if (event.ctrlKey) {
        console.debug("Ctrl+click has just happened!");
   }
}
document.addEventListener('click', (e) => {
  if (e.ctrlKey) {
    console.log('With ctrl, do something...');
  }
});