前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【基础】input标签输入框内的输入事件详细分析

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

作者头像
青年码农
发布2020-12-17 15:06:11
2.5K0
发布2020-12-17 15:06:11
举报
文章被收录于专栏:青年码农

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

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

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

代码语言:javascript
复制
<input type="text" onblur="myFunction()">

支持该事件的 HTML 标签:

代码语言:javascript
复制
<a>, <acronym>, <address>, <area>, <b>, <bdo>, <big>, <blockquote>, 
<button>, <caption>, <cite>, <dd>, <del>, <dfn>, <div>, <dl>, <dt>, 
<em>, <fieldset>, <form>, <frame>, <frameset>, <h1> to <h6>, <hr>, <i>, 
<iframe>, <img>, <input>, <ins>, <kbd>, <label>, <legend>, <li>, 
<object>, <ol>, <p>, <pre>, <q>, <samp>, <select>, <small>, <span>, 
<strong>, <sub>, <sup>, <table>, <tbody>, <td>, <textarea>, <tfoot>, 
<th>, <thead>, <tr>, <tt>, <ul>, <var>

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

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

代码语言:javascript
复制
<input type="text" onchange="myFunction()">

支持该事件的 HTML 标签:

代码语言:javascript
复制
<input type="text">, <select>, <textarea>

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

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

代码语言:javascript
复制
<input type="text" onfocus="myFunction()">

支持该事件的 HTML 标签:

代码语言:javascript
复制
<a>, <acronym>, <address>, <area>, <b>, <bdo>, <big>, 
<blockquote>, <button>, <caption>, <cite>, <dd>, <del>,
<dfn>, <div>, <dl>, <dt>, <em>, <fieldset>, <form>, 
<frame>, <frameset>, <h1> to <h6>, <hr>, <i>, <iframe>, 
<img>, <input>, <ins>, <kbd>, <label>, <legend>, <li>, 
<object>, <ol>, <p>, <pre>, <q>, <samp>, <select>, 
<small>, <span>, <strong>, <sub>, <sup>, <table>, 
<tbody>, <td>, <textarea>, <tfoot>, <th>, <thead>, 
<tr>, <tt>, <ul>, <var>

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

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

代码语言:javascript
复制
<input type="text" onfocusin="myFunction()">

支持该事件的 HTML 标签:

代码语言:javascript
复制
<a>, <acronym>, <address>, <area>, <b>, <bdo>, <big>, 
<blockquote>, <button>, <caption>, <cite>, <dd>, <del>,
<dfn>, <div>, <dl>, <dt>, <em>, <fieldset>, <form>, 
<frame>, <frameset>, <h1> to <h6>, <hr>, <i>, <iframe>, 
<img>, <input>, <ins>, <kbd>, <label>, <legend>, <li>, 
<object>, <ol>, <p>, <pre>, <q>, <samp>, <select>, 
<small>, <span>, <strong>, <sub>, <sup>, <table>, 
<tbody>, <td>, <textarea>, <tfoot>, <th>, <thead>, 
<tr>, <tt>, <ul>, <var>

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

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

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

代码语言:javascript
复制
<input type="text" onfocusout="myFunction()">

支持该事件的 HTML 标签:

代码语言:javascript
复制
<a>, <acronym>, <address>, <area>, <b>, <bdo>, <big>, <blockquote>, 
<button>, <caption>, <cite>, <dd>, <del>, <dfn>, <div>, <dl>, <dt>, 
<em>, <fieldset>, <form>, <frame>, <frameset>, <h1> to <h6>, <hr>, <i>, 
<iframe>, <img>, <input>, <ins>, <kbd>, <label>, <legend>, <li>, 
<object>, <ol>, <p>, <pre>, <q>, <samp>, <select>, <small>, <span>, 
<strong>, <sub>, <sup>, <table>, <tbody>, <td>, <textarea>, <tfoot>, 
<th>, <thead>, <tr>, <tt>, <ul>, <var>

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

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

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

代码语言:javascript
复制
<input type="text" oninput="myFunction()">

支持该事件的 HTML 标签:

代码语言:javascript
复制
<input> <textarea>

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

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

代码语言:javascript
复制
<input type="search" onsearch="myFunction()">

支持该事件的 HTML 标签:

代码语言:javascript
复制
<input type="search">

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

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

代码语言:javascript
复制
<input type="text" onselect="myFunction()">

支持该事件的 HTML 标签:

代码语言:javascript
复制
<input type="text">, <textarea>
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 青年码农 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 支持该事件的 HTML 标签:
  • 支持该事件的 HTML 标签:
  • 支持该事件的 HTML 标签:
  • 支持该事件的 HTML 标签:
  • 支持该事件的 HTML 标签:
  • 支持该事件的 HTML 标签:
  • 支持该事件的 HTML 标签:
  • 支持该事件的 HTML 标签:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档