input 输入框 propertychange

做搜索功能的时候,经常遇到输入框检查的需求,最常见的是即时搜索,今天好好小结一下。

即时搜索的方案:

(1)change事件    触发事件必须满足两个条件:

  a)当前对象属性改变,并且是由键盘或鼠标事件激发的(脚本触发无效)
  b)当前对象失去焦点(onblur)
 
 (2)keypress  恩,还好。。。。。就是能监听键盘事件,鼠标复制黏贴操作他就无能为力的赶脚了。。。。。
 
 (3)propertychange(ie)和input事件
 
input是标准的浏览器事件,一般应用于input元素,当input的value发生变化就会发生,无论是键盘输入还是鼠标黏贴的改变都能及时监听到变化

propertychange,只要当前对象属性发生改变。

下面我们用jquery 来实现input 等同于placeholder  这个属性的效果

html

<div class="enterprise-list">
    <label>银行卡号:</label>
    <input type="text"  placeholder="请输入16或19位银行卡号" class="enterprise-inp" id="cartInput">
</div>

 

js

<script>
    $(function () {
        $("#cartInput").bind('input propertychange',function () {
            var text = $("#cartInput").val();
            text = text.replace(/[^\d]/g,'');
            console.log(text)
        })
    })
</script>

  

 

用vue写的时候,实时的方法可以为:

<input type="text" v-model="bankcard" class="enterprise-inp" v-on:input="cartInput">

  

cartInput:function () {
                this.bankcard=this.bankcard.replace(/[^\d]/g,'');
                console.log(this.bankcard)
            },

  

posted @ 2018-01-11 18:34  原叶  阅读(15870)  评论(0编辑  收藏  举报