Javascript 同时运行Keyup和Keydown
我正在尝试运行Javascript 同时运行Keyup和Keydown,javascript,jquery,Javascript,Jquery,我正在尝试运行split(),冻结()和冻结2()当我按下键x时。 当我第一次按X键时,split()和冻结()工作。但是当我再次尝试时,只有freeze()工作。有没有一种方法可以用一个键同时使用所有三个功能 您需要查看我的脚本才能理解: (function() { var speed = 25; function split() { $("body").trigger($.Event("keydown&q
split()代码>,冻结()代码>和冻结2()代码>当我按下键x
时。
当我第一次按X键时,split()代码>和冻结()代码>工作。但是当我再次尝试时,只有freeze()代码>工作。有没有一种方法可以用一个键同时使用所有三个功能
您需要查看我的脚本才能理解:
(function() {
var speed = 25;
function split() {
$("body").trigger($.Event("keydown", {
keyCode: 32
}));
}
function split2() {
$("body").trigger($.Event("keyup", {
keyCode: 32
}));
}
function freeze() {
$("body").trigger($.Event("keyup", {
keyCode: 70
}));
}
function freeze2() {
$("body").trigger($.Event("keydown", {
keyCode: 70
}));
}
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) {
split();
setTimeout(speed);
freeze();
setTimeout(speed * 2);
freeze2();
}
});
setTimeout()
调用没有执行任何操作。如果要延迟函数的执行,必须将它们作为第一个参数传递,将延迟作为第二个参数传递。例如:setTimeout(冻结,速度)
是的,但当我这样做时,只有split();和冻结();worksPlus,第二次按X时它就不工作了