React Synthetic Event区分左击事件和右击事件
我试图区分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');
}
}
这是一个演示
以上是 React Synthetic Event区分左击事件和右击事件 的全部内容, 来源链接: utcz.com/qa/414230.html