当前位置: 首页 > 面试题库 >

React Synthetic Event区分左击事件和右击事件

林泰平
2023-03-14
问题内容

我试图区分OnClick函数中的左键单击和右键单击。但,

var r = React.createClass({
   handleClick : function(e){
       //left click
       if(e.which==1){ 
          //Do something
       }
   },
   render : function(){
       return <p onClick={this.handleClick}>Something </p>
   }
});

证明e 。对于合成事件未定义。如何在此处区分左键和右键?


问题答案:

您也可以这样做。同时拥有onClick和onContextMenu处理程序

return <p onClick={this.handleClick} onContextMenu={this.handleClick}>Something </p>

您可以nativeEvent根据其他答案的建议进行检查,也可以进行检查type。(此外,如果右键单击,请阻止默认设置。)

使用 type

handleClick: function(e) {
  if (e.type === 'click') {
    console.log('Left click');
  } else if (e.type === 'contextmenu') {
    console.log('Right click');
  }
}

使用 nativeEvent

handleClick: function(e) {
  if (e.nativeEvent.which === 1) {
    console.log('Left click');
  } else if (e.nativeEvent.which === 3) {
    console.log('Right click');
  }
}

这是一个演示
http://jsbin.com/seyeliv/edit?html,输出



 类似资料:
  • 问题内容: 我有一个id为id的按钮。我将此元素附加了两个jQuery事件 1。 2。 但是每次它给我 问题答案: 您需要使用超时来检查第一次点击后是否还有另一次点击。 这是窍门: 用法:

  • 问题内容: 我正在构建一个状态栏应用程序,并希望根据用户单击左侧还是右侧来调用不同的操作。这是我到目前为止的内容: 没有调用我的函数,也找不到我们的原因。感谢您的帮助! 问题答案: 你有没有尝试过: 然后看到该功能中按下了哪个鼠标键? 所以看起来像… https://github.com/craigfrancis/datetime/blob/master/xcode/DateTime/AppDel

  • 如何在swt中区分右键单击和左键单击弹出菜单? 通过添加SelectionListener,我可以在左键和右键上进行操作,但我如何知道使用了哪一个呢?有可能在菜单上安装鼠标听筒吗? 我想做的类似于浏览器的收藏夹菜单,左键单击选择,右键单击选择收藏夹关联菜单。 澄清一下:抱歉,没有包含屏幕截图,但是我想你可以明白我的意思,如果你遵循这个描述。 在Windows资源管理器(或任何其他浏览器)中选择“收

  • 问题内容: 右键单击Javascript事件吗?如果可以,该如何使用? 问题答案: 正如其他人提到的那样,可以[通过常规鼠标事件(mousedown,mouseup,click)检测[鼠标右键。但是,如果在弹出右键单击菜单时正在寻找触发事件,那么您所寻找的位置是错误的。也可以通过键盘(在Windows和某些Linux上为shift + F10或上下文菜单键)访问右键单击/上下文菜单。在这种情况下,

  • 问题内容: 在我的三个按钮上,鼠标=中键单击和=右键单击。 两键鼠标就是这种情况吗? 谢谢 问题答案: 为了避免任何歧义,请使用SwingUtilities中的实用程序方法:

  • 本文向大家介绍IOS setOnclick点击事件分析,包括了IOS setOnclick点击事件分析的使用技巧和注意事项,需要的朋友参考一下 在Android中点击事件是以setOnclick的形式进行设置的,用起来十分方便,而在ios中是以addTarget方式进行的,每次设置点击事件都需要声明一个新的方法,在大部分情况下显得未免有些麻烦。而且通常来说我们使用的最多的是TouchUpInsid