hand
_1_11_125
4
返回栏目
0k
2k
1k
2k
1k
1k
1k
2k
2k
2k
1k
2k
1k
2k
1k
1k
1k
1k
1k
2k
1k
1k
1k
1k
1k
1k
1k
1k
1k
2k
1k
1k
1k
1k
1k
1k
1k
1k
1k
2k
1k
1k
1k
1k
1k
1k
1k
2k
1k
2k
1k
1k
1k
1k
1k
1k
1k
2k
2k
1k
1k
1k
2k
1k
1k
2k
2k
1k
1k
1k
2k
1k
1k
2k
2k
1k
2k
1k
1k
2k
2k
2k
3k
3k
2k
3k
2k
3k
3k
3k
1k
2k
3k
2k
2k
3k
3k
2k
2k
6k
3k
2k
2k
5k
3k
4k
3k
3k
2k
4k
3k
3k
2k
3k
3k
1k
4k
4k
4k
2k
5k
3k
2k
3k
4k
3k
3k
4k
2k
3k
3k
4k
2k
2k
3k
4k
3k
3k
2k
5k
2k
3k
3k
3k
3k
2k
3k
3k
3k
2k
2k
2k
2k
3k
2k
2k
2k
3k
2k
2k
2k
2k
2k
2k
0.1k
0.2k
3k
2k
3k
2k
0.1k
2k
2k
4k
2k
2k
1k
2k
2k
3k
3k
3k
3k
2k
2k
3k
3k
3k
4k
3k
3k
4k
3k
2k
2k
3k
3k
3k
3k
3k
3k
2k
3k
3k
4k
4k
3k
3k
2k
2k
3k
2k
2k
1k
2k
3k
1k
2k
2k
2k
2k
2k
2k
2k
2k
2k
4k
2k
3k
2k
1k
2k
2k
2k
2k
2k
3k
2k
3k
1k
2k
2k
2k
0k
2k
2k
2k
2k
2k
2k
2k
3k
2k
2k
1k
1k
3k
2k
3k
1k
2k
1k
2k
2k
2k
2k
3k
1k
3k
2k
2k
2k
2k
2k
2k
1k
2k
2k
4k
3k
3k
2k
2k
2k
2k
2k
2k
4k
3k
3k
3k
2k
2k
2k
2k
2k
2k
3k
4k
返回前端 - Javascript栏目
作者:
贺及楼
成为作者
更新日期:2025-02-21 19:59:06
在前端开发中,表单是用户与网页进行交互的重要元素,而输入框则是表单里最常用的组件之一。input
事件作为处理输入框输入操作的关键事件,在很多场景下都有着广泛的应用。本文将深入探讨 input
事件的基本概念、使用方法以及一些实用的应用场景。
input
事件基本概念input
事件会在 <input>
、<textarea>
或 <select>
元素的值发生改变时触发。与 change
事件不同,input
事件会在每次输入值发生变化时立即触发,而 change
事件通常在元素失去焦点或者用户提交表单时才会触发。
input
事件的基本使用方法以下是一个简单的 HTML 示例,展示了如何使用 input
事件来监听输入框的输入:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Input Event Example</title>
</head>
<body>
<input type="text" id="myInput">
<p id="output"></p>
<script>
const inputElement = document.getElementById('myInput');
const outputElement = document.getElementById('output');
inputElement.addEventListener('input', function () {
const inputValue = inputElement.value;
outputElement.textContent = `你输入的内容是: ${inputValue}`;
});
</script>
</body>
</html>
在这个示例中,我们通过 addEventListener
方法为输入框添加了一个 input
事件监听器。当用户在输入框中输入内容时,input
事件会被触发,事件处理函数会获取输入框的值,并将其显示在页面上的 <p>
元素中。
input
事件的应用场景在搜索框中使用 input
事件可以实现实时搜索功能,用户输入关键词时,页面会立即显示相关的搜索结果。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Real-time Search</title>
</head>
<body>
<input type="text" id="searchInput" placeholder="搜索...">
<ul id="searchResults"></ul>
<script>
const searchInput = document.getElementById('searchInput');
const searchResults = document.getElementById('searchResults');
const data = ['苹果', '香蕉', '橙子', '葡萄', '草莓'];
searchInput.addEventListener('input', function () {
const keyword = searchInput.value.toLowerCase();
searchResults.innerHTML = '';
data.forEach(item => {
if (item.toLowerCase().includes(keyword)) {
const li = document.createElement('li');
li.textContent = item;
searchResults.appendChild(li);
}
});
});
</script>
</body>
</html>
使用 input
事件可以实时验证用户输入的内容,例如验证手机号码、邮箱地址等。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Input Validation</title>
</head>
<body>
<input type="text" id="phoneInput" placeholder="请输入手机号码">
<p id="validationMessage"></p>
<script>
const phoneInput = document.getElementById('phoneInput');
const validationMessage = document.getElementById('validationMessage');
phoneInput.addEventListener('input', function () {
const phoneNumber = phoneInput.value;
const regex = /^1[3-9]\d{9}$/;
if (regex.test(phoneNumber)) {
validationMessage.textContent = '手机号码格式正确';
validationMessage.style.color = 'green';
} else {
validationMessage.textContent = '手机号码格式错误';
validationMessage.style.color = 'red';
}
});
</script>
</body>
</html>
在表单中,使用 input
事件可以实现动态计算功能,例如根据用户输入的数量和单价计算总价。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Dynamic Calculation</title>
</head>
<body>
<label for="quantity">数量:</label>
<input type="number" id="quantity" value="1">
<label for="price">单价:</label>
<input type="number" id="price" value="10">
<p>总价: <span id="totalPrice">10</span></p>
<script>
const quantityInput = document.getElementById('quantity');
const priceInput = document.getElementById('price');
const totalPriceSpan = document.getElementById('totalPrice');
const calculateTotal = () => {
const quantity = parseInt(quantityInput.value);
const price = parseInt(priceInput.value);
const total = quantity * price;
totalPriceSpan.textContent = total;
};
quantityInput.addEventListener('input', calculateTotal);
priceInput.addEventListener('input', calculateTotal);
</script>
</body>
</html>
应用场景 | 说明 |
---|---|
实时搜索 | 用户输入关键词时,立即显示相关搜索结果 |
输入验证 | 实时验证用户输入的内容是否符合格式要求 |
动态计算 | 根据用户输入的值进行动态计算并显示结果 |
input
事件为前端开发提供了强大的交互能力,通过监听输入框的输入变化,我们可以实现各种实用的功能。在实际开发中,合理运用 input
事件可以提升用户体验,让网页更加智能和便捷。希望本文能帮助你更好地理解和应用 input
事件。
前端 - Javascript
整章节共299节
快分享给你的小伙伴吧 ~