在工作中,我们可能时常需要对type为text的input标签绑定事件,但我们是否了解这一些事件的区别?
onchange: 当input的值发生改变时,所触发的,但这个事件的特点是,必须失去焦点才真正的触发。
oninput: 当input的值发生改变时,所触发的,但它不需要失去焦点就可以触发。
onkeydown: 按下键时触发,但这个时候获取input的值还是没有变化之前的值。
onkeyup: 按键弹起时触发,但如果我长时间按某个键的话,这个时候该事件不会触发。
onfocus: input标签获得焦点时触发。
onblur: input标签失去焦点时触发。
综上所示,
1. 如果我们需要input的值一改变就触发事件,需要使用oninput事件;
2. 如果我们需要input的值改变后,失去焦点后才触发事件,需要使用onchange事件;
3. 如果我们需要input的值不管变化与否,只要失去焦点就触发事件,需要使用onblur事件