最近在做番茄项目的注册界面,如果输入有问题,总是出来弹出框对用户的体验度不是很好,所以就想办法让它更好的提示用户。
在调试的过程中,用了一些事件,对这些事件又有了更深入的了解,下面来谈一下。
一、onchange()
官方解释都是:在元素值改变时触发
可是天真的小编真的以为,只要是输入框的内容以改变就会触发onchange事件,最终发现,触发是有条件的。
条件:1、绑定onchange事件
2、输入框当前的值与以前的值是不一致
3、输入框焦点离开时,才会比较值是否一致(当时我就没有理解这里)
二、onkeyup()
onkeyup():按键弹起时触发
onkeydown():按键按下的时候发生,文字输入之前发生
onkeypress():事件会在键盘按键被按下并释放一个键时发生
按住按键不放,此时会不断的触发onkeydown,但是onkeyup、onkeypress只在按键抬起的时候触发一次。
整个过程是这样的:有键按下—>产生onkeydown事件—>如果是有ASCII码的按键—>产生onkeypress事件—>有键释放——>产生onkeyup事件
三、总结
在做项目的时候可以看一下相关的类似事件,看看哪个是真正适合的,这样会避免很多错误的出现。