html 输入框输入事件,input输入框事件「建议收藏」

html 输入框输入事件,input输入框事件「建议收藏」onfocus->键盘输入->onkeydown->onkeypress->onkeyup->oninput->失去焦点->onchange->onblur如下,奉上代码;functionhandleFocus(event){console.log(‘onfocus事件’,’value=’+event.targ…

大家好,又见面了,我是你们的朋友全栈君。

onfocus -> 键盘输入 -> onkeydown -> onkeypress -> onkeyup -> oninput -> 失去焦点 ->  onchange -> onblur

如下,奉上代码;

function handleFocus (event) {

console.log(‘onfocus事件’,’value=’+event.target.value,’keyCode=’+event.keyCode);

};

function handleKeyDown (event) {

console.log(‘onkeydown事件’,’value=’+event.target.value,’keyCode=’+event.keyCode);

}

function handleKeyPress (event) {

console.log(‘onkeypree事件’,’value=’+event.target.value,’keyCode=’+event.keyCode);

}

function handleKeyUp (event) {

console.log(‘onkeyup事件’,’value=’+event.target.value,’keyCode=’+event.keyCode);

}

function handleInput (event) {

console.log(‘oninput事件’,’value=’+event.target.value,’keyCode=’+event.keyCode);

}

function handleChange (event) {

console.log(‘onchange事件…’,’value=’+event.target.value,’keyCode=’+event.keyCode);

};

function handleBlur (event) {

console.log(‘onblue事件’,’value=’+event.target.value,’keyCode=’+event.keyCode)

}

执行结果:

4517117abd8e

其实这个过程并没有很意外,唯一感觉不太对劲的是 onchange 事件并不是每次输入框值改变的时候触发的,而是在失去焦点时候,并且在 onblur 之前触发;

2、说说这些事件

onfocus

并没有什么特别的,就是当焦点转移到(点击,tab切换) input 框上边的时候触发;

onkeydown

键盘按下的时候触发,但是此时按下的值并没有被输入到 input ,所以,此时的 value 没有值,或者说它的值 只能是之前的旧值

另外,此时可以阻止按键的默认事件;

onkeypress

按键在按下之后,并且是按键松开之前触发的;

和 keydown 一样不能获取新的到 value;此时,也可以阻止按键的默认事件;

但是这个事件对一下按键的支持不好,一些非输入性质的按键(如;delete, backspare)不支持;(除enter);

oninput

这个事件很贼,它的触发时机,从上面就可以看到,onpress 之后 onkeyup 之前;

此时,已经可以拿到 value,不能拿到keycode,不可以阻止默认事件了 ;

关键是这货明明是每次输入框的值变化时候出发的,抢了onchange 的饭碗;

另外,这东西是新的,IE9以下不支持,需要使用 onpropertychange;

还有这货,仅仅在input, textarea 支持;

onkeyup

按键在松开之后触发的;

能获取新的到 value,keycode;此时,不可以阻止按键的默认事件;

onchange

你敢说这是你认识的onchange吗?反正我是不敢;在失去焦点之后触发的,明明是 onchange 为什么是在失去焦点后触发的,还偏偏比 onblur 快;

能获取新的到 value,不能拿到 keycode;此时,不可以阻止按键的默认事件;

onblur

失去焦点时候触发,但是还是比 onchange 慢了;

能获取新的到 value,不能拿到 keycode;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140842.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月27日 上午6:40
下一篇 2022年5月27日 上午7:00


相关推荐

  • Johnson算法「建议收藏」

    Johnson算法「建议收藏」为什么80%的码农都做不了架构师?>>>…

    2025年8月23日
    4
  • 苹果哪款手机无刘海_刘海屏是什么意思

    苹果哪款手机无刘海_刘海屏是什么意思用iPhone这么多年你们用过iPodTouch吗?在iPhone4发布的时候我接触过一次iPodTouch,当时是同事买的超薄的,感觉就是为打游戏制造的,(本人热爱游戏)那时候感觉真…

    2022年8月10日
    11
  • Xray使用的经验分享(xray+burp的使用[套娃测试])

    Xray使用的经验分享(xray+burp的使用[套娃测试])xray是一种功能强大的扫描工具。xray社区版是长亭科技推出的免费白帽子工具平台,由多名经验丰富的安全开发者和数万名社区贡献者共同打造而成。有趣的功能自己的安全评估工具,,支持常见的web安全问题扫描和自定义po

    2022年5月28日
    143
  • 等价类测试用例设计原则_边界值法测试用例

    等价类测试用例设计原则_边界值法测试用例一、等价类划分法简介1.1什么是等价类划分法?  等价类划分法是黑盒测试中非常重要的测试方法,采用等价类划分法时,无需考虑程序内部结构,设计测试用例是依据游戏策划案进行设计的  等价类是输入条件的一个子数据集合,该输入集合中的数据对于揭示程序中的错误是等价的,从每一个子集中选取少数代表性的数据,从而进行梳理,组合成测试用例  等价类划分法分为:有效等价类、无效等价类。  有效等价类:有效等价类代表对程序的有效输入数据  无效等价类:无效等价类则是以任何方式的无效输入数据。  有效

    2022年10月18日
    4
  • 国内可用的stun服务

    国内可用的stun服务stun:stun.ideasip.comstun:stun.schlund.destun:stun.voiparound.comstun:stun.voipbuster.comstun:stun.v

    2022年7月1日
    34
  • networkmanager设置开机启动_network connectivity assistant

    networkmanager设置开机启动_network connectivity assistant通常的linux发行版对于网络的配置方法一般会同时支持network.service(即配置和使用/etc/sysconfig/network-scripts/下的配置文件来配置网络,对于ubuntu是/etc/network/interfaces等等)和NetworkManager.service(简称NM)。默认情况下,这2个服务都有开启,而且功能上是平行的,可以通过任意一个来配置网络,正常的情况下通过NM来配置网络后它会自动把配置同步到network.service的配置中。NM能管理各种网络

    2022年10月5日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号