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

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

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

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

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

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

复制

支持该事件的 HTML 标签:

<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输入框内容时执行,也可用于单选框与复选框改变后触发的事件,所有主要浏览器都支持。

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

复制

支持该事件的 HTML 标签:

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

复制

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

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

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

复制

支持该事件的 HTML 标签:

<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 事件。

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

复制

支持该事件的 HTML 标签:

<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 事件。

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

复制

支持该事件的 HTML 标签:

<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> 元素。

<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>

复制


相关文章
|
3月前
|
JavaScript 前端开发
用JavaScript编程控制网页上checkbox选择状态:全选、全部取消、反选
用JavaScript编程控制网页上checkbox选择状态:全选、全部取消、反选
|
4月前
|
前端开发 JavaScript 开发者
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
本文提供了一个前端JS按钮点击事件、弹出式窗口和遮罩层的实战示例,包括HTML、CSS和JavaScript的具体实现代码,以及功能解析,演示了如何实现按钮点击后触发弹窗显示和遮罩层,并在2秒后自动关闭或点击遮罩层关闭弹窗的效果。
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
|
7月前
|
JavaScript
原生js实现【longPressKey】长按键盘任意键(或组合键)3秒触发自定义事件(以Pause/Break键为例)
原生js实现【longPressKey】长按键盘任意键(或组合键)3秒触发自定义事件(以Pause/Break键为例)
|
7月前
|
UED
如何理解鼠标点击事件在程序中的处理
如何理解鼠标点击事件在程序中的处理
100 0
|
7月前
|
前端开发 JavaScript 数据安全/隐私保护
前端点击其他输入框的时候,对当上个输入框进行判断(鼠标移出输入框事件,和鼠标点击其他输入框触发事件)
前端点击其他输入框的时候,对当上个输入框进行判断(鼠标移出输入框事件,和鼠标点击其他输入框触发事件)
111 0
|
7月前
|
JavaScript 前端开发
js基础——事件(鼠标事件、键盘事件、表单事件......)
js基础——事件(鼠标事件、键盘事件、表单事件......)
63 0
|
移动开发 JavaScript 前端开发
表单文本框的使用(二) 输入过滤(合成事件)
表单文本框的使用(二) 输入过滤(合成事件)
291 0
SwiftUI—使用TextField文本输入框接收用户的数据
SwiftUI—使用TextField文本输入框接收用户的数据
759 0
SwiftUI—使用TextField文本输入框接收用户的数据
|
Web App开发 前端开发 JavaScript