我一直在学习一些jQuery并使用w3schools。我的意图是允许用户将其键盘上的任何键绑定到当前的硬编码键。我尝试创建一个变量,并根据文本字段的输入进行了更改,以更改键码,但没有任何运气(就像您在某些游戏中看到的那样,当它们允许您将键映射到另一个游戏时)。我正在研究w3schools,我相信我可以使用切换用例,但是我认为那会太长且不够整洁?
这是我到目前为止所拥有的。 (Alert在这里似乎不起作用,但是通过超链接进入实际的JSFiddle是可行的)
$('input').bind("binding", function(e) {
alert("Backspace"); //Pop up to see
});
$('input').keyup(function(e) {
if (e.keyCode == 8) { // 8 = backspace
$(this).trigger("binding"); //will allow the message to be displayed
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Try it here <input type="text"> Change the input <input class type="text">
任何建议都很感激。谢谢
答案 0 :(得分:1)
您可以尝试将一个键绑定到退格键。它从第一个输入元素获取输入,然后按下的键绑定到退格键,只有该键才能用作退格键
$('#try').bind("binding", function(e) {
alert("Backspace"); //Pop up to see
});
var a;
$('#change').keyup(function(e) {
a = e.keyCode;
$(this).prop('disabled', true);
});
$('#try').keyup(function(e) {
if (e.keyCode == a) {
$(this).trigger("binding"); //will allow the message to be displayed
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Press the key you want to bind to backspace <input type="text" id="change"><br> Change the input <input id="try" type="text">
答案 1 :(得分:0)
默认情况下,绑定的键将为Backspace。您可以通过在第一个输入中键入内容来更改键。只需要一个字符。 然后,当在第二个输入字段中输入该键时,将触发该消息。
说明:
在第一个输入中输入的键的键码保存在key_code
变量中,以后在另一个key_up事件中使用以检查其是否匹配
var key_code = 8
$('#changekey').keyup("input", function(e) {
key_code = e.keyCode;
});
$('input').on("binding", function(e) {
alert("Backspace"); //Pop up to see
});
$('#text').keyup(function(e) {
if (e.keyCode == key_code) //8 = backspace
{
$(this).trigger("binding"); //will allow the message to be displayed
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Try it here <input type="text" id="changekey" maxlength = 1 > Change the input <input class type="text" id="text">