[英]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" />
如前所述,问题是您正在停止事件,如果事件不在提及的键中。 您将必须添加特殊键,例如Tabs
, Delete
, Caps
等,或者您可以只允许用户输入任何内容,然后在键入后对其进行清理。
$(".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.