繁体   English   中英

Javascript功能不适用于所有浏览器

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

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