React Synthetic Event distinguish Left and Right click events

后端 未结 3 1323
清歌不尽
清歌不尽 2020-12-14 14:48

I am trying to distinguish between left and right clicks in an OnClick function. But,

var r = React.createClass({
   handleClick : function(e){
       //left         


        
3条回答
  •  挽巷
    挽巷 (楼主)
    2020-12-14 15:44

    You can do something like this too. Have both onClick and onContextMenu handlers

    return 

    Something

    You can either check for nativeEvent as the other answer suggests or check for type. (Also, prevent default if it is a right click.)

    Using type

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

    Using nativeEvent

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

    Here is a demo http://jsbin.com/seyeliv/edit?html,output

提交回复
热议问题