在我的组件中,我想在特定键码上触发假onKeypress,是否可能?我有这个代码:
class componentName extends Component {
fireKey = e => {
function makeKeyPressEvent(keyName, keyCode, charCode){
var event = new KeyboardEvent('keypress');
Object.defineProperties(event, {
charCode: {value: charCode},
keyCode: {value: keyCode},
keyIdentifier: {value: keyName},
which: {value: keyCode}
});
return event;
}
window.addEventListener('keypress', function(event){
console.log('key pressed!',
event.keyIdentifier, event.keyCode, event.charCode, event)
}, true);
var enterKeyEvent = makeKeyPressEvent('onClick', 39, 39);
window.dispatchEvent(enterKeyEvent);
}
render (
) {
return (
<div>
<button onClick={this.fireKey}> > </button>
</div>
)
}
}
或者如何手动更改onClick按钮中的事件keyCode?
you can use this:-
class componentName extends Component {
fireKey = e => {
if(e.keyCode == 13){ //compare with your keyboard key
//your code here
}
}
render () {
return (
<div>
<button onKeyPress={this.fireKey}> > </button>
</div>
)
}
}