input的值变化时的触发事件

最近在处理input的变化值时遇到了一些问题,比如对input的value值的监听,以及有关input的一些方法整理一下:

oninput和onpropertychange都可以在input的value值发生变化时触发,但是有一区别:

oninput事件在value值改变时会触发,但是通过脚本改变的时候不会触发,其不能兼容ie9以下版本;

onpropertychange事件是任何属性发生改变时都会触发,oninput只有在value变化时触发,oninput要通过addEventListener()来注册,

onpropertychange的注册方法与一般事件相同。

以下是input的一些问题以及防范总结:

1.onfocus ?当input 获取到焦点时触发

2.onblur ?当input失去焦点时触发,注意:这个事件触发的前提是已经获取了焦点再失去焦点的时候会触发相应的js

3.onchange 当input失去焦点并且它的value值发生变化时触发

4.onkeydown?在 input中有键按住的时候执行一些代码

5.onkeyup 在input中有键抬起的时候触发的事件,在此事件触发之前一定触发了onkeydown事件

6.onclick ?主要是用于 input type=button,当被点击时触发此事件

7.onselect ?当input里的内容文本被选中后执行一段,只要选择了就会触发,不是非得全部选中

8.oninput ?当input的value值发生变化时就会触发,不用等到失去焦点(与onchange是有区别的)

2017-10-10

1 个评论