onkeyup是什么事件(onchange、oninput、onkeyup的区别)

 分类:js知识时间:2023-01-21 07:30:01点击:

表单验证输入是我们经常做的一项工作,比如价格的输入,就只能输入小数而且保留最多两位小数,但是翻看input事件属性,onchange、oninput、onkeyup似乎都可以完成,真的是这样吗?其实那只是你还是没有吃透这几个事件的使用而已,下面我们就来具体看看它们有什么不同。

1、onchange事件

定义和用法:事件会在域的内容改变时发生。

支持该事件的 HTML 标签:<input type="text">, <select>,<textarea>

所有主流浏览器都支持 onchange 属性。

2、oninput事件

定义和用法:事件在用户输入时触发。

支持该事件的 HTML 标签: <input>,<textarea>

浏览器支持 :

3、onkeyup事件

定义和用法:事件会在键盘按键被松开时发生。

支持该事件的 HTML 标签:

所有主流浏览器都支持 onkeyup 属性。

onchange、oninput、onkeyup的区别

从以上对比可以看出很多不同,在这里我还是重点说下它们触发的时机是不一样的:

1、oninput 事件在元素值发生变化时立即触发(页面显示的是回调函数处理过后的内容)

2、onchange 在元素失去焦点时立即触发(首先显示的是未处理的内容,失去焦点的情况在才去进行回调函数的执行,改变输入的内容)

3、onkeyup是按键松开时触发(首先显示的是未处理的内容,一直按住不放一直进行输入,只有按键松开时才会触发事件)

所以说,比如我们进行价格输入验证,就只能用oninput,对于ie9一下可以使用onpropertychange(有兴趣的同学可以去查下它),完了希望童鞋们多去试试,熟练掌握。

除注明外的文章,均为来源:老汤博客,转载请保留本文地址!
原文地址: