Итак, я пробую что-то, если у вас есть две функции, которые вы хотите вызвать после нажатия одной и той же клавиши, вот так:
var plus = function () {
document.addEventListener("keyup", function(e) {
if (/[+]/g.test(e.key)) {
console.log("plus");
}
})
}
plus();
var minus = function() {
document.addEventListener("keyup", function(e) {
if (/[-]/g.test(e.key)) {
console.log("minus");
}
});
}
minus();
function check() {
document.addEventListener("keyup", function(e) {
if(plus) {
if (e.keyCode == 13) {
console.log("enter pressed after plus");
plus = false;
minus = function() {
document.addEventListener("keyup", function(e) {
if (/[-]/g.test(e.key)) {
console.log("minus");
}
});
}
}
} else if(minus) {
if (e.keyCode == 13) {
console.log("enter pressed after minus");
minus = false;
plus = function () {
document.addEventListener("keyup", function(e) {
if (/[+]/g.test(e.key)) {
console.log("plus");
}
})
}
}
}
});
}
check();
Если вы сначала нажмете минус, то введите console.log("enter pressed after plus")
всегда вызывается во-первых, из-за порядка кода, хотя я хочу, чтобы ввод соответствовал клавише, которую я нажимаю в первую очередь, если сначала нажать плюс, то я хочу, чтобы позвонили console.log("enter pressed after plus")
, и если я нажму минус сначала, тогда я хочу, чтобы позвонили console.log("enter pressed after minus")
.
Любая помощь будет признательна, и спасибо заранее.
О, также извините за глупое название, не могу придумать лучшего .