JS实现input文本框点击清空及失去焦点恢复默认值
2星 需积分: 50 51 浏览量
更新于2024-10-13
收藏 1KB TXT 举报
"js实现input文本框点击时文字消失,失去焦点"
在网页设计中,我们经常需要对用户交互进行定制,比如当用户点击输入框时,预设的文字(如“请输入姓名”)应该消失,让用户能够开始输入自己的内容。而当用户离开这个输入框(失去焦点)时,如果用户没有输入任何内容,原有的提示文字又应该重新出现。这个功能可以通过JavaScript来实现。以下是一个简单的示例,详细解释了如何使用JavaScript来完成这个任务。
首先,我们需要一个HTML结构,包含一个输入框元素,这里我们用`<input>`标签表示。我们可以设置它的`value`属性为预设的提示文字,例如"û"(无)。同时,我们可以添加`onblur`和`onclick`事件处理器,分别处理失去焦点和点击事件:
```html
<input name="values" type="text" id="values" size="15" maxlength="20" value="û" style="color:#CCCCCC;">
```
在上面的代码中,`onblur`事件用于处理输入框失去焦点的情况,`onclick`事件则用于处理点击输入框时的行为。但是,直接在HTML中写入JavaScript代码并不符合现代Web开发的最佳实践,所以我们通常会将JavaScript代码分离到外部文件或者`<script>`标签内。
为了实现这个功能,我们可以创建两个JavaScript函数:一个用于清空输入框的值,另一个用于在失去焦点时检查并恢复提示文字。然后,我们需要通过`addEventListener`方法为输入框元素添加这两个事件监听器。由于需要兼容旧版IE浏览器,我们需要检查`addEventListener`是否存在,如果不存在,则使用`attachEvent`。
```javascript
function addListener(element, e, fn) {
if (element.addEventListener) {
element.addEventListener(e, fn, false);
} else {
element.attachEvent("on" + e, fn);
}
}
var values = document.getElementById("values");
// 添加点击事件监听器
addListener(values, "click", function() {
values.value = "";
});
// 添加失去焦点事件监听器
addListener(values, "blur", function() {
if (values.value === '') {
values.value = "û";
}
});
```
这段JavaScript代码首先定义了一个通用的`addListener`函数,用于在不同浏览器上添加事件监听器。接着,它获取了ID为"values"的输入框元素,并分别为其添加了`click`和`blur`事件的监听器。点击事件的处理函数会清空输入框的值,而失去焦点事件的处理函数会在输入框为空时恢复预设的提示文字。
总结一下,通过上述的HTML和JavaScript代码,我们可以实现一个具有自定义交互行为的输入框,即点击时清除提示文字,失去焦点且无输入时恢复提示文字。这种功能可以提高用户体验,使得用户在填写表单时更加直观和便捷。
2020-12-12 上传
2019-04-14 上传
2011-05-08 上传
2020-09-06 上传
2013-09-03 上传
2020-10-18 上传
2019-10-24 上传
向着成功迈进
- 粉丝: 1
- 资源: 19
最新资源
- Condition-monitoring-of-hydraulic-systems-using-xgboost-modeling:我们将使用各种传感器值并使用xgboost进行测试液压钻机的状态监控
- 齐尔奇
- cubelounge:基于立方体引擎的游戏社区网站
- csharp_s7server_snap7_snap7c#代码_C#S7协议_c#s7连接plc_c#s71500
- Excel模板基础体温记录表格.zip
- lab_prog_III
- lekce03-priklad01:第3课示例
- ember-cli-htmlbars
- Recommendation-System:基于相似性创建简单的推荐系统
- React Native 的可扩展组件
- Excel模板简易送货单EXCEL打印模板.zip
- DependencyWalker:PE格式图像依赖解析器
- 数据结构基础系列(6):树和二叉树
- neuro-network-visualizer-web-app-python:使用Streamlit的神经网络Visualizer Web应用程序,以及使用Keras和Flask的简单模型服务器
- SentimentAnalysis
- mayorleaguec23:Basi HTML页面