我有一个“简单”的问题,但无法找到解决方案。
我的问题:我想知道keydown是否是小键盘上的小数分隔符键(不依赖于它是否是en / fr / de键盘)。
答案很简单:使用keyCode = 110,但不推荐使用keyCode,我希望获得可持续的解决方案。
.key解决方案:我尝试了Keyboardevent.key,IE / Edge总是返回“Decimal”(太棒了!),但是当我在Chrome上试用它时它不起作用,返回“。”或“,”和char的charCode与“。”相同。或“,”键。
我看一下stackoverflow上的类似帖子,但问题更多的是关于“什么是本地小数点分隔符”而不是“关键是小键盘小数点分隔符”。
是否有人遇到同样的问题并找到了解决方案? 我最后的选择是使用keyCode,但我想避免这个解决方案。
答案 0 :(得分:0)
解决方案是@Teemu给出的解决方案。
我使用此函数来检索它是否是已按下的DecimalSeparator。
function isKeyDS(evt) {
if (evt.key !== undefined && evt.key === "Decimal") { // IE / Edge
return true;
}
if (evt.code !== undefined && evt.code == "NumpadDecimal") { // Chrome / FF / Opera
return true;
}
return evt.keyCode === 110; // Compatibiliy with old browser
}