有没有办法通过按一个键来运行一个函数(或一行javascript)?例如,按X键可运行fuction example();
我的代码(按X键运行$("body").trigger($.Event("keydown", { keyCode: 32}));)
window.addEventListener('keydown', keydown);
window.addEventListener('keyup', keyup);
var speed = 25;
function example(){
$("body").trigger($.Event("keydown", { keyCode: 32}));
}
var addEvent = document.addEventListener ? function(target,type,action){
if(target){
target.addEventListener(type,action,false);
}
} : function(target,type,action){
if(target){
target.attachEvent('on' + type,action,false);
}
}
addEvent(document,'keydown',function(e){
e = e || window.event;
var key = e.which || e.keyCode;
if(key===88){
example();
}
});
function keydown(event) {
if (event.keyCode == 68) { //key D
split();
setTimeout(split, speed);
}
if (event.keyCode == 90) { //key Z
split();
setTimeout(split, speed);
setTimeout(split, speed*2);
}
if (event.keyCode == 69) { //key E
split();
setTimeout(split, speed);
setTimeout(split, speed*2);
setTimeout(split, speed*3);
}
}
function split() {
$("body").trigger($.Event("keydown", { keyCode: 32})); //key space
$("body").trigger($.Event("keyup", { keyCode: 32})); //jquery is required for split to work
}发布于 2020-09-29 03:39:39
你可以做这样的事情。
document.addEventListener("keydown",(e)=>{
if(e.key=="x"){
console.log("You have pressed X")
//Here you can call some function you need
function();
}
});这里我使用的是lamda,expression.You可以在这个表达式中放置你需要的任何函数。
https://stackoverflow.com/questions/64108143
复制相似问题