2020-06-01微软中文输入法input事件多次被触发,且内容减少

要求:input中只能写入数字
方案一:

<input type="text" name="" oninput="value=value.replace(/[^\d]/g,'')">

方案二:vue中

<template>
  <div>
    <input type="text"
    @input="change"
    @change="change"
    :value="inputValue">
  </div>
</template>
<script>
export default {
  data () {
    return {
      inputValue: null,
      // timeid: null
    }
  },
  methods: {
    change (event) {
      //if (this.timeid) {
        //clearTimeout(this.timeid)
      //}
      // this.timeid = setTimeout(() => {
      let val = event.target.value.trim()
      val = Number(val)
      if (!isNaN(val)) {
        this.inputValue = val
        console.log('输入数字' + this.inputValue)
      } else {
        console.log(`输入非数字${this.inputValue}`)
        event.target.value = this.inputValue
      }
      // })
    }
  },
}
</script>
image.png

image.png

在方案1与方案2中,当输入o的时候,input事件会触发2次,此时点击空格之后,数字会减少一位.
待解决.

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容