您好,我发现当textBox的onkeypress事件触发时调用的js函数。我在问是否有人可以解释其语法。

function isDecimalKey(evt) {
  var charCode = (evt.which) ? evt.which : event.keyCode
  if(charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 46) return false;
  return true;
}


我不确定代码的var charCode = (evt.which) ? evt.which : event.keyCode位是什么意思,但我想扩展此功能,因此它还将检查数字是否在允许的范围内,即最大值999.9 min值0.0。数字只能有1个小数位,因此不能为1.123。

总结:值最多可以包含5个字符,包括“。”。代表小数,最多1个小数位。

最佳答案

基本上就是三元运算符

(is this expression true) ? -> YES DO THIS : NOPE, ITS NOT DO THAT INSTEAD


在这种情况下,您只需使用逻辑OR即可轻松替换该行

var charCode = evt.which || event.keyCode;


基本上,这是相同的检查。如果evt.which具有任何真实值,则解释器将忽略右侧的表达式。如果第一个表达式的计算结果为false,则无论右边包含什么表达式,我们都会使用右边的表达式。

关于javascript - 扩展函数语法说明,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23782483/

10-12 06:49