![](/img/trans.png)
[英]How to change a JavaScript variable from user input field (in HTML)
[英]Change variable from input field
我一直在学习一些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">
任何建议,不胜感激。 谢谢
您可以尝试将一个键绑定到退格键。 它从第一个输入元素获取输入,然后按下的键绑定到退格键,只有该键才能用作退格键
$('#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">
默认情况下,绑定的键将为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">
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.