繁体   English   中英

从输入字段更改变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM