【问题标题】:Prevent invalid input value change in android webview防止android webview中的无效输入值更改
【发布时间】:2020-03-06 12:46:34
【问题描述】:

我试图阻止两种情况下输入值的变化。

如果有

  1. 多个负号“-” 例如。防止输入 "-1-2-3"
  2. 多个 "." 值,例如。防止输入 "1.2.3"

对于桌面浏览器,我可以使用以下功能来实现。

function valueEntered(element, event){
      var newVal = element.value
      if(event.code==="Minus") {
       if(element.value.length==0) return true // allow minus at start
        element.value = -1*parseFloat(newVal) // change the sign of number
        return false
       } 
       else if(event.code==="Period") {
        if(element.value.indexOf('.')>-1) return false
       }
      return true
    }
<input type="number" style="border-radius: 5px;"  onkeypress="return valueEntered(this, event)" />

它工作得很好。但是,如果我在 android webview 中使用这个 sn-p,它就不会像它应该的那样阻止。

【问题讨论】:

    标签: javascript android webview


    【解决方案1】:

    我信任https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code,它告诉event.code 也适用于android webview,但它没有。

    另外event.key 仅支持检测数值。如果我输入 -, .,, ;属性event.key 返回Unidentified

    同样,event.keyCode 属性为上述所有按键返回 229

    所以实际上不可能在android webview中实现我目前想要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-22
      • 1970-01-01
      • 2014-08-03
      • 2011-01-16
      • 1970-01-01
      • 2015-03-26
      • 2019-05-13
      相关资源
      最近更新 更多