[英]Javascript function doesn't work on all browser
我创建了一个fnNumericDecimalOnly
函数Javascript,并在我的jsp页面中使用了它,该页面只允许数字和十进制,而不能像下面的代码那样。
码:
function fnNumericDecimalOnly(event) { if (event.keyCode < 45 || event.keyCode > 58) { event.returnValue = false; } }
<div class="col-sm-4 col-lg-4"> <div class="form-group has-feedback required-field-block"> <label for="inTimeTxt" class="col-md-4 control-label">In Time</label> <div class="col-md-7"> <input id="inTimeTxt" name="inTimeTxt" class="form-control" maxlength="5" type="text" placeholder="00:00" value="" title="In Time" onkeypress="javascript:return fnNumericDecimalOnly(event)" data-tooltip="tooltip" data-placement="top" />(In hh:mm format) <span class="glyphicon form-control-feedback" id="inTimeTxtMessage"></span> </div> <div class="col-md-1"></div> </div> </div>
它仅在Chrome中可用,而在Firefox中不起作用。 有人可以帮我吗? 我该怎么做才能适用于所有浏览器?
https://www.w3schools.com/jsref/event_key_keycode.asp
注意:在Firefox中,keyCode属性在onkeypress事件上不起作用(只会返回0)。 对于跨浏览器的解决方案,请结合使用which属性和keyCode,例如:
var x = event.which || event.keyCode; // Use either which or keyCode, depending on browser support
这是5s Google搜索的事情...
function fnNumericDecimalOnly(event) {
let key = event.which || event.keyCode;
if (key < 45 || key > 58) {
event.returnValue = false;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.