以下代码是我的陷阱,只接受来自用户的整数值输入:
isNumber: function(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if((charCode >= 48 && charCode <= 57) || (charCode >= 96 && charCode <= 105) || charCode == 8 || charCode == 46 ||
charCode ==36 || charCode ==35){
console.log("Im in if", charCode)
return true;
} else {
console.log("Im in else", charCode)
//evt.stopImmediatePropagation();
//evt.stopPropagation();
evt.preventDefault();
return false;
}
},
TEXTBOX
<ui-textbox label="initial cost"
name="cost"
v-validate="`numeric|decimal`"
v-on:keydown="isNumber"
:maxlength = "18"
:enforceMaxlength="true"
value = 0.00
format="number"
></ui-textbox>
这在我使用英语键盘格式时效果很好。但是当我切换到日语时,这不会生效。 evt.preventDefault()
可以解决这个问题,我添加了evt.stopImmediatePropagation()
和evt.stopPropagation()
来尝试其功能,但我仍然不够运气,无法发挥作用。< / p>
与你的链接不一样。您提供的链接仅适用于英语键盘。但是当你切换到日语时,它将无法正常工作。