input , change ,blur 事件的区别,以及在vue和react中的表现

这篇具有很好参考价值的文章主要介绍了input , change ,blur 事件的区别,以及在vue和react中的表现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原生事件介绍

onInput Event

当一个 , , 或 元素的 value 被修改时,会触发 input 事件

onChange Event

当用户更改 、 和 元素的值时,change 事件在这些元素上触发。和 input 事件不同的是,并不是每次元素的 value 改变时都会触发 change 事件。

基于表单元素的类型和用户对元素的操作的不同,change 事件触发的时机也不同:

  • 当 元素被选中或取消选中时(通过点击或使用键盘);
  • 当 元素被选中时(但不是取消选中时);
  • 当用户显式提交改变时(例如:通过鼠标点击了 中的一个下拉选项,通过 元素选择了一个日期,通过 元素上传了一个文件等);
  • 当标签的值被修改并且失去焦点后,但未提交时(例如:对、 text、search、url、tel、email 或 password 类型的 元素进行编辑后)。
onBlur Event

blur与change事件在绝大部分的情况下表现都非常相似,输入结束后,离开输入框,会先后触发change与blur,唯有两点例外。

  1. 没有进行任何输入时,不会触发change
    在这种情况下,输入框并不会触发change事件,但一定会触发blur事件。在判断表单的修改状态时,这种差异会非常有用,通过change事件能轻易地找到哪些字段发生了变更以及其值的变更轨迹。

  2. 输入后值并没有发生变更
    这种情况是指,在没有失焦的情况下,在输入框内进行返回的删除与输入操作,但最终的值与原值一样,这种情况下,keydown、input、keyup、blur都会触发,但change依旧不会触发。

React 中

onInput

onInput:一个 Event 处理函数。在用户更改值时立即触发。由于历史原因,在 React 中习惯于使用 onChange,工作方式类似。

onChange

onChange:一个 Event 处理函数。如果这是 受控输入框,则必须提供。在用户更改输入框的值时立即触发(例如,每次按键时触发)。行为类似于浏览器的 input 事件。

onBlur

onBlur:一个 FocusEvent 事件处理函数。当元素失去焦点时触发。与内置的浏览器 blur 不同,在 React 中,onBlur 事件会冒泡。

Vue中(类似原生事件)

  <input type="text" v-model="inputValue" @change="handleChange" />
onInput

v-model 绑定事件onInput

剖析实现:

//CustomInput
<template>
<input :value="modelValue" @input="$emit('update:modelValue', $event.target.value)"/>
</template>

<script setup lang=ts>
const props=defineProps(['modelValue'])
const emit=defineEmits(['update:modelValue'])

const {modelValue}=toRefs(props)
</script>
...

使用

<CustomInput
  :model-value="searchText"
  @update:model-value="newValue => searchText = newValue"
/>

等价于

<CustomInput v-model="searchText" />
onChange

@change 事件会在表单元素的值发生变化并失去焦点(通常是用户输入后按下回车键或点击其他地方)时触发。这与 @input 事件不同,后者会在每次输入时都触发。

onblur

当元素失去焦点时触发文章来源地址https://www.toymoban.com/news/detail-759583.html

到了这里,关于input , change ,blur 事件的区别,以及在vue和react中的表现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • el-input-number 失去焦点blur事件,

            最近遇到了个奇怪的需求,需要代码手动给数字输入框手动触发失焦事件;但是在看了 el-input-number 焦点事件部分的源码后,发现 el-input-number 只有获取焦点focus事件,却没有失去焦点的事件: 后来再阅读了 el-input-number的 template部分的源码后;发现el-input-number封装

    2024年02月13日
    浏览(43)
  • jq——监听input组件type=“radio“单选框的change事件——基础积累

    jq的基操,但是由于本人jq操作dom不熟悉,用vue习惯了,所以还是要记录一下jq的基操,多多积累,多多收获。 1.html代码 2.css代码 3.js代码 完成!!! 多多积累,多多收获!!! 1. attr(): 作用:获取/设置元素的属性 //获取北京节点的name属性值 var bj = $(“#bj”).attr(“name”);

    2024年02月11日
    浏览(58)
  • vue中鼠标移入移出事件种类以及区别

    鼠标经过时自身触发事件,其子元素同时也触发该事件。 父亲有的东西,儿子也有 ,支持冒泡。 适用于鼠标移入移出时子元素也会执行事件的场景,或者单一标签。 鼠标经过时自身触发事件,其子元素不触发该事件。 父亲的东西就是父亲的,儿子没有 ,不支持冒泡。 适用

    2024年02月11日
    浏览(35)
  • vue3中,form表单校验之特殊字符校验、手机号、身份证号、百分制数字 & route和router的写法 & setup的两种用法 & rules中校验之blur和change

    vue3中,form表单校验之特殊字符校验、手机号、身份证号、百分制数字 route和router的写法 setup的两种用法 rules中校验之blur和change 1、写法一 index.vue 2、写法二完整版 index.vue 2、校验文件 srcutilsvalidate.ts

    2024年02月05日
    浏览(44)
  • uniapp中的input,输入input回车事件和输入input事件

    data定义 methods方法 实现效果--车辆信息点击搜索框实现,当输入值!==‘’--------实现搜索界面,点击键盘回车------------实现车辆信息界面 全部代码

    2024年02月11日
    浏览(39)
  • Vue 中change事件除了默认参数value ,如何传递自己的参数

    vue中@change事件除了传递value默认参数,如果需要传自己的参数myprops 是有两种方法: 但是这种方式分场景,如果你的myprops在data中定义好的那么就可以传过去,如果myprops参数是像for循环里的每个item项目,那就报错,提示你在data或者method中定义该参数或者方法。 这种方法任何

    2024年02月11日
    浏览(46)
  • element ui中的el-input回车键事件

    今天项目里面的登录页面,需要按键盘回车键就直接登录,但是测试的时候,按了回车键后,直接刷新页面了,这不是我想要的,之后网上查了一下 代码如下: 上面的写法没问题,但是这样又会出现一个问题,当form表单中只有一个input框时,按回车键,页面还是刷新的。 之

    2024年02月11日
    浏览(59)
  • 前端实现 input 回车搜索(html,vue,react实现)

    搜索框是个常见的功能,除了 用ui库,有的时候必须要自己封装(因为改ui库太麻烦了,定制化要求很高),所以 涉及到 点击按钮搜索和回车搜索都要实现。下面就是实现的一些方法。 html里: 方式一:html里可以用 form 来实现,因为form里回车也能触发提交事件。思路就是

    2024年02月11日
    浏览(48)
  • 前端react入门day02-React中的事件绑定与组件

    (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 React中的事件绑定 React 基础事件绑定 使用事件对象参数  传递自定义参数  同时传递事件对象和自定义参数  React中的组件  组件是什么 React组件 useState  修改状态的规

    2024年02月06日
    浏览(85)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包