繁体   English   中英

Tab功能在使用HTML和JavaScript的Firefox中不起作用

[英]Tab function not working in firefox using html and javascript

这是代码:

 $(".onlynumbers").keydown(function(e) { var isModifierkeyPressed = (e.metaKey || e.ctrlKey || e.shiftKey); var isCursorMoveOrDeleteAction = ([46, 8, 37, 38, 39, 40].indexOf(e.keyCode) != -1); var isNumKeyPressed = (e.keyCode >= 48 && e.keyCode <= 58) || (e.keyCode >= 96 && e.keyCode <= 105); var vKey = 86, cKey = 67, aKey = 65; switch (true) { case isCursorMoveOrDeleteAction: case isModifierkeyPressed == false && isNumKeyPressed: case (e.metaKey || e.ctrlKey) && ([vKey, cKey, aKey].indexOf(e.keyCode) != -1): break; default: e.preventDefault(); } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> <input id="enterCheckCheckNumber" maxlength="12" style="width:70%; float: right;" type="text" class="form-controlEnterCheck onlynumbers" placeholder="Check Number" /> 

如前所述,问题是您正在停止事件,如果事件不在提及的键中。 您将必须添加特殊键,例如TabsDeleteCaps等,或者您可以只允许用户输入任何内容,然后在键入后对其进行清理。

 $(".onlynumbers").on("input",function(e) { this.value = this.value.replace(/[^0-9]/g, ""); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> <input id="enterCheckCheckNumber" maxlength="12" style="width:70%; float: right;" type="text" class="form-controlEnterCheck onlynumbers" placeholder="Check Number" /> 

var key ='e中的哪个? e。哪个:e.keyCode;

尝试使用这段代码。

$(".onlynumbers").keydown(function(e) {
  var isModifierkeyPressed = (e.metaKey || e.ctrlKey || e.shiftKey);
  var isCursorMoveOrDeleteAction = ([46, 8, 37, 38, 39, 40].indexOf(e.keyCode) != -1);
  var isNumKeyPressed = (e.keyCode >= 48 && e.keyCode <= 58) || (e.keyCode >= 96 && e.keyCode <= 105);
  var vKey = 86,
    cKey = 67,
    aKey = 65,
   keycode = event.which;
  switch (true) {
    case isCursorMoveOrDeleteAction:
    case isModifierkeyPressed == false && isNumKeyPressed:
    case (e.metaKey || e.ctrlKey) && ([vKey, cKey, aKey, keycode].indexOf(e.keyCode) != -1):
      break;
    default:
      e.preventDefault();
  }
});

将输入类型更改为html中的数字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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