表单输入事件辨析-oninput、onkeyup、onchange 开发须知!

22 篇文章 1 订阅
6 篇文章 0 订阅
  • oninput事件:是在用户输入时触发;该事件在 <input><textarea> 元素的值发生改变时触发。
  • onkeyup事件:在键盘按键被松开时发生。即键盘弹起时触发。
  • onchange事件:输入完毕后,失去焦点时触发。可用于 <input><textarea><select><select/>
    注:事件触发顺序是:oninput - onkeyup - onchange(失去焦点)
    提示:与onkeyup 事件相关的事件发生次序:onkeydown-onkeypress-onkeyup
    (附:onkeypress 事件会在键盘按键被按下并释放一个键时发生。)
一、 oninput事件与onchange事件对比:

该事件类似于 onchange 事件。不同之处在于 oninput 事件在元素值发生变化是立即触发, onchange 在元素失去焦点时触发。另外一点不同是 onchange 事件也可以作用于 <keygen><select> 元素。
input表单:

<input type="text" name="">

script代码:

var inp=document.getElementsByTagName("input")[0];
	inp.onchange=change;
	inp.oninput=inpu;//边输入边触发函数
	inp.onkeyup=key;
	// 也可以用事件监听的方式,这里只写一个为例
	// inp.addEventListener("change",change)
	function change(){
		console.log(inp.value+"-change");
	}
	function inpu(){
		console.log(inp.value+"-input");
	}
	function key(){
		console.log(inp.value+"-keyup");
	}

比如输入“你”,运行结果:
在这里插入图片描述
上图输入n i 比较连续,与输入的快慢也有关系,慢速输入n i 结果是这样的:
在这里插入图片描述

二、select下拉列表适用onchange()

当值发生改变时触发,选择的值需要与上一次不同。相同时不会触发onchange事件。
这里扩展一下,如果开发时与数据库等相关联,一定要设置好selectoptionvalue值。

欢迎大家补充,下方留言~

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清颖~

您的鼓励让我们一起进步,加油!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值