我怎样才能在这个其他函数上访问这个函数的结果?
How can I access the result of this function on this other function?
所以我有这个文本输入字段,我有 showKeyCode() 函数,它从文本输入中获取值并将按下的键的键码表示打印到控制台.
function showKeyCode() {
$('#inputfield').keyup(function(e){
$(this).val(String.fromCharCode(e.keyCode));
console.log(e.keyCode);
});
}
const r4 = document.querySelector("#inputfield");
r4.addEventListener('input', showKeyCode2);
现在我想获取这个值并在下面的函数中使用它。
$(document).keydown(function(e) {
if (e.which == [I WANT TO PUT THE RESULT FROM showKeyCode() HERE] ){
document.querySelector('#test').click()
console.log("Clicked");
}
});
让我们总结一下我在这里要做的事情。如果您是游戏玩家,您一定使用过按键绑定,例如:按 [M] 显示小地图。按[H]显示hud.
我在这里尝试让用户通过在文本字段中键入来自定义键绑定。 showKeyCode() 函数获取字符并将其转换为将在第二个函数中使用的键码。
我可以像这样直接在脚本中输入键码
if (e.which == 84 ){}
但我希望用户在游戏中更改它。
从技术上讲 “你不能” 但是有一个 hacky 和肮脏的解决方法。全局变量。
//outside
let value = '';
function showKeyCode() {
$('#inputfield').keyup(function(e){
$(this).val(String.fromCharCode(e.keyCode));
value = e.keyCode;
});
}
$(document).keydown(function(e) {
if (e.which == [value] ){
document.querySelector('#test').click()
console.log("Clicked");
}
});
如果在按下键之前调用了 sowKeyCode
,这应该可以工作
现在,我不推荐使用全局变量,但有时这是唯一的方法,也许你可以使用不同的方法,比如把它放在 class
或使用其他非常适合状态跟踪的库。
所以我有这个文本输入字段,我有 showKeyCode() 函数,它从文本输入中获取值并将按下的键的键码表示打印到控制台.
function showKeyCode() {
$('#inputfield').keyup(function(e){
$(this).val(String.fromCharCode(e.keyCode));
console.log(e.keyCode);
});
}
const r4 = document.querySelector("#inputfield");
r4.addEventListener('input', showKeyCode2);
现在我想获取这个值并在下面的函数中使用它。
$(document).keydown(function(e) {
if (e.which == [I WANT TO PUT THE RESULT FROM showKeyCode() HERE] ){
document.querySelector('#test').click()
console.log("Clicked");
}
});
让我们总结一下我在这里要做的事情。如果您是游戏玩家,您一定使用过按键绑定,例如:按 [M] 显示小地图。按[H]显示hud.
我在这里尝试让用户通过在文本字段中键入来自定义键绑定。 showKeyCode() 函数获取字符并将其转换为将在第二个函数中使用的键码。
我可以像这样直接在脚本中输入键码
if (e.which == 84 ){}
但我希望用户在游戏中更改它。
从技术上讲 “你不能” 但是有一个 hacky 和肮脏的解决方法。全局变量。
//outside
let value = '';
function showKeyCode() {
$('#inputfield').keyup(function(e){
$(this).val(String.fromCharCode(e.keyCode));
value = e.keyCode;
});
}
$(document).keydown(function(e) {
if (e.which == [value] ){
document.querySelector('#test').click()
console.log("Clicked");
}
});
如果在按下键之前调用了 sowKeyCode
,这应该可以工作
现在,我不推荐使用全局变量,但有时这是唯一的方法,也许你可以使用不同的方法,比如把它放在 class
或使用其他非常适合状态跟踪的库。