Javascript 使用不带jquery的事件侦听器触发按键事件
我想在不使用jQuery的情况下触发一个按键事件作为对事件侦听器的反应Javascript 使用不带jquery的事件侦听器触发按键事件,javascript,dom-events,keypress,Javascript,Dom Events,Keypress,我想在不使用jQuery的情况下触发一个按键事件作为对事件侦听器的反应 let arrow=document.querySelector(“箭头”); //当你点击箭头时 arrow.addEventListener('click',函数(e){ //它触发按键(向下) $(文档)。触发器(按键); });您可以使用dispatchEvent触发事件。 示例:使用键x document.dispatchEvent(新键盘事件('keypress',{'key':'x'})); 这对我触发
let arrow=document.querySelector(“箭头”);
//当你点击箭头时
arrow.addEventListener('click',函数(e){
//它触发按键(向下)
$(文档)。触发器(按键);
});代码>您可以使用dispatchEvent
触发事件。
示例:使用键x
document.dispatchEvent(新键盘事件('keypress',{'key':'x'}));
这对我触发按键关闭事件起到了作用:
// Create listener
document.addEventListener('keydown', () => { console.log('test')})
// Create event
const keyboardEvent = document.createEvent('KeyboardEvent');
const initMethod = typeof keyboardEvent.initKeyboardEvent !== 'undefined' ? 'initKeyboardEvent' : 'initKeyEvent';
keyboardEvent[initMethod](
'keydown', // event type: keydown, keyup, keypress
true, // bubbles
true, // cancelable
window, // view: should be window
false, // ctrlKey
false, // altKey
false, // shiftKey
false, // metaKey
40, // keyCode: unsigned long - the virtual key code, else 0
0 // charCode: unsigned long - the Unicode character associated with the depressed key, else 0
);
// Fire event
document.dispatchEvent(keyboardEvent);
使用什么是您的#箭头
元素?输入?button?它是一个包装3个跨行的div容器。addEventListener('click',函数(e){console.log('Simulation the keypress of down arrow')文档。dispatchEvent(new KeyboardEvent('keypress',{'keyCode':'40');}); 为了按下向下箭头键?它没有触发模拟按键按下OK Norbert它就像一个符咒。然而,我很失望,因为当你点击一个按钮时,我基本上想向下滚动(和向下箭头键一样)。现在它显示了console中的test,因此可以确保keyboardevent被触发,但console.log中不会发生任何事情