【基础】input标签输入框内的输入事件详细分析

举报
青年码农 发表于 2022/08/24 22:45:18 2022/08/24
【摘要】 今天项目上用到了oninput事件,顺便就记录下表单常用事件。 1.onblur:元素失去焦点时触发 Onblur 经常用于表单验证,所有主要浏览器都支持 onblur 事件 <input type="text" onblur="myFunction()"> 支持该事件的 HTML...

今天项目上用到了oninput事件,顺便就记录下表单常用事件。

1.onblur:元素失去焦点时触发

Onblur 经常用于表单验证,所有主要浏览器都支持 onblur 事件

<input type="text" onblur="myFunction()">
  

支持该事件的 HTML 标签:


   
  1. <a>, <acronym>, <address>, <area>, <b>, <bdo>, <big>, <blockquote>, 
  2. <button>, <caption>, <cite>, <dd>, <del>, <dfn>, <div>, <dl>, <dt>, 
  3. <em>, <fieldset>, <form>, <frame>, <frameset>, <h1> to <h6>, <hr>, <i>, 
  4. <iframe>, <img>, <input>, <ins>, <kbd>, <label>, <legend>, <li>, 
  5. <object>, <ol>, <p>, <pre>, <q>, <samp>, <select>, <small>, <span>, 
  6. <strong>, <sub>, <sup>, <table>, <tbody>, <td>, <textarea>, <tfoot>, 
  7. <th>, <thead>, <tr>, <tt>, <ul>, <var>

2.onchange:表单元素的内容改变时触发

当用户改变input输入框内容时执行,也可用于单选框与复选框改变后触发的事件,所有主要浏览器都支持。

<input type="text" onchange="myFunction()">
  

支持该事件的 HTML 标签:

<input type="text">, <select>, <textarea>
  

3.onfocus:元素获取焦点时触发

当 input 输入框获取焦点时执行,通常也用于 <input>, <select>, 和<a>,所有主要浏览器都支持 onfocus 事件。

<input type="text" onfocus="myFunction()">
  

支持该事件的 HTML 标签:


   
  1. <a>, <acronym>, <address>, <area>, <b>, <bdo>, <big>, 
  2. <blockquote>, <button>, <caption>, <cite>, <dd>, <del>,
  3. <dfn>, <div>, <dl>, <dt>, <em>, <fieldset>, <form>, 
  4. <frame>, <frameset>, <h1> to <h6>, <hr>, <i>, <iframe>, 
  5. <img>, <input>, <ins>, <kbd>, <label>, <legend>, <li>, 
  6. <object>, <ol>, <p>, <pre>, <q>, <samp>, <select>, 
  7. <small>, <span>, <strong>, <sub>, <sup>, <table>, 
  8. <tbody>, <td>, <textarea>, <tfoot>, <th>, <thead>, 
  9. <tr>, <tt>, <ul>, <var>

4.onfocusin:元素即将获取焦点时触发

onfocusin 事件在一个元素即将获得焦点时触发,onfocusin 事件类似于 onfocus 事件。主要的区别是 onfocus 事件不支持冒泡。因此,如果你想知道元素或者其子元素是否获取焦点,需要使用 onfocusin 事件。

<input type="text" onfocusin="myFunction()">
  

支持该事件的 HTML 标签:


   
  1. <a>, <acronym>, <address>, <area>, <b>, <bdo>, <big>, 
  2. <blockquote>, <button>, <caption>, <cite>, <dd>, <del>,
  3. <dfn>, <div>, <dl>, <dt>, <em>, <fieldset>, <form>, 
  4. <frame>, <frameset>, <h1> to <h6>, <hr>, <i>, <iframe>, 
  5. <img>, <input>, <ins>, <kbd>, <label>, <legend>, <li>, 
  6. <object>, <ol>, <p>, <pre>, <q>, <samp>, <select>, 
  7. <small>, <span>, <strong>, <sub>, <sup>, <table>, 
  8. <tbody>, <td>, <textarea>, <tfoot>, <th>, <thead>, 
  9. <tr>, <tt>, <ul>, <var>

提示:虽然 Firefox 不支持  onfocusin 事件, 但你可以通过使用 onfocus (使用addEventListener()方法的可选参数 useCapture)的捕获监听事件来查看元素或其子元素是否获取焦点。

5.onfocusout:元素即将失去焦点时触发

onfocusout 事件在元素即将失去焦点时触发。onfocusout 事件类似于 onblur 事件。主要的区别是 onblur 事件不支持冒泡。因此,如果你需要查看元素或其子元素是否获取焦点,需要使用 onfocusout 事件。

<input type="text" onfocusout="myFunction()">
  

支持该事件的 HTML 标签:


   
  1. <a>, <acronym>, <address>, <area>, <b>, <bdo>, <big>, <blockquote>, 
  2. <button>, <caption>, <cite>, <dd>, <del>, <dfn>, <div>, <dl>, <dt>, 
  3. <em>, <fieldset>, <form>, <frame>, <frameset>, <h1> to <h6>, <hr>, <i>, 
  4. <iframe>, <img>, <input>, <ins>, <kbd>, <label>, <legend>, <li>, 
  5. <object>, <ol>, <p>, <pre>, <q>, <samp>, <select>, <small>, <span>, 
  6. <strong>, <sub>, <sup>, <table>, <tbody>, <td>, <textarea>, <tfoot>, 
  7. <th>, <thead>, <tr>, <tt>, <ul>, <var>

提示:虽然 Firefox 不支持 onfocusout 事件, 但你可以通过使用 onfocus (使用addEventListener()方法的可选参数 useCapture)的捕获监听事件来查看元素或其子元素是否失去焦点。

6.oninput:元素获取用户输入时触发

oninput 事件在用户输入时触发,也可用于 <textarea> 元素的值发生改变时触发。该事件类似于 onchange 事件。不同之处在于 oninput 事件在元素值发生变化是立即触发, onchange 在元素失去焦点时触发。另外一点不同是 onchange 事件也可以作用于 <keygen> 和 <select> 元素。

<input type="text" oninput="myFunction()">
  

支持该事件的 HTML 标签:

<input> <textarea>
  

7.onsearch:用户向搜索域输入文本时触发 

onsearch 事件在用户按下"ENTER(回车)" 按键或点击 type="search" 的 <input> 元素的 "x(搜索)" 按钮时触发。

<input type="search" onsearch="myFunction()">
  

支持该事件的 HTML 标签:

<input type="search">
  

8.onselect:用户选取文本时触发

onselect 事件会在文本框中的文本被选中时发生。

<input type="text" onselect="myFunction()">
  

支持该事件的 HTML 标签:

<input type="text">, <textarea>
  

文章来源: blog.csdn.net,作者:NMGWAP,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/NMGWAP/article/details/125066924

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。