Javascript在不使用Jquery的情况下单击鼠标时触发按键

Javascript在不使用Jquery的情况下单击鼠标时触发按键,javascript,onclick,keypress,Javascript,Onclick,Keypress,我在这个网站上找到了很多这样的结果,但它们似乎都使用Jquery。我真的需要知道如何在没有Jquery的情况下完成它。我想要的是单击一个按钮并触发按键,例如ALT+N或CTRL+G。谢谢。HTML <button onClick="myFunction()">Click me</button> 您可以通过code触发任何事件,即event.code var ev=新事件(“按键关闭”); 电动汽车代码=110;//将此代码更改为特定事件代码以触发它 函数加载(){

我在这个网站上找到了很多这样的结果,但它们似乎都使用Jquery。我真的需要知道如何在没有Jquery的情况下完成它。我想要的是单击一个按钮并触发按键,例如ALT+N或CTRL+G。谢谢。

HTML

<button onClick="myFunction()">Click me</button>

您可以通过
code
触发任何
事件,即
event.code


var ev=新事件(“按键关闭”);
电动汽车代码=110;//将此代码更改为特定事件代码以触发它
函数加载(){
var button=document.getElementById('btn');
//倾听事件。
按钮。addEventListener('keydown',函数(e){
如果(例如代码===110){
警报(“成功触发ALT+N”);
}
//把你的逻辑写在这里
},假);
}
功能分派按键(e){
e、 预防默认值();
//发送事件。
e、 目标调度事件(ev);
}
按钮
看看构造函数。您可以这样使用它:

document.addEventListener('DOMContentLoaded',函数(){
document.getElementById('alt-n')。addEventListener('click',function(){
//创建新的键盘事件
var事件=新键盘事件('keydown'{
键:“n”,
阿尔特基:是的
});
//发送alt+n按键事件
文件、调度事件(事件);
});
document.getElementById('ctrl-g')。addEventListener('click',function(){
//创建新的键盘事件
var事件=新键盘事件('keydown'{
键:“g”,
克特尔基:是的
});
//调度ctrl+g按键事件
文件、调度事件(事件);
});
//听一听有没有按键
文档.添加的事件列表器('keydown',函数(e){
if(e.altKey | | e.ctrlKey){
//按下alt或ctrl键
log('Key:'+e.Key+';按alt:'+e.altKey+';按ctrl:'+e.ctrlKey));
}
});
});
alt+n

ctrl+g
这只是为了按A键吗?如何像我的问题中那样同时按下两个键?e、 g.CTRL+ESCAPE?谢谢。但这真的是按ALT+N还是只按“N”?110似乎只是“N”。如何按ESCAPE和ALT?会出现错误“UncaughtTypeError:无法读取null的属性'addEventListener'。我想这是因为在执行JavaScript时DOM元素尚未加载。您必须侦听
DOMContentLoaded
事件。我将编辑我的答案以使用此事件。不,IE中不支持
KeyboardEvent
。快捷方式是什么意思?你不需要
KeyboardEvent
。是的,IE不支持它,你必须使用它。好的,它现在可以工作了,谢谢。一个问题是,我设置了一个快捷键来触发Mac系统中的一个功能,但这个程序没有触发它?实际上,按ALT+N似乎与触发ALT+N的代码不同。。。。。?
function myFunction(){
var k = new Event("keydown");
k.key="a"; //Change this value for different keys
document.dispatchEvent(k);
}