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

标签 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"

我可以在 arguments[0]-Proxy 对象中看到 ctrlKey 属性。但是这个对象是不可访问的('Uncaught illegal access'):

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

最佳答案

您的点击处理函数将具有如下格式:

clickHandler: function (event, value) {

   event.stopPropagation();

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

关于javascript - 如何检测reactjs点击事件中的Click + [Shift, Ctrl, Alt]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38974744/

相关文章:

javascript - 在 React 中动态更改组件的子项

reactjs - Webpack 5 模块联合微前端和 react-redux 不工作

css - 在 MUI v5 中更改抽屉的颜色

javascript - 如何遍历一个对象一次给我 5 个项目?

javascript - 包含数组的对象 - 是否有更简单的方法来编写这种常见模式

javascript - 更改谷歌条形图上的字体

javascript - shift bootstrap carousel 标题中心向右

javascript - 在不使用括号的情况下从对象属性调用函数

javascript - 对象中的元素作为 props 在 undefined 中传递

node.js - 粘贴链接时如何提取元数据并打开图形信息?