写input失焦输入框显示文字,聚焦不显示。别用jquery
时间: 2024-12-14 21:15:45 浏览: 8
要在纯JavaScript中实现输入框失去焦点时显示提示文字、获得焦点时不显示的效果,你可以利用HTML5的`placeholder`属性结合事件监听。首先,在HTML中设置输入框的`placeholder`属性:
```html
<input type="text" id="myInput" placeholder="请输入内容">
```
然后在JavaScript中添加必要的事件处理函数:
```javascript
// 获取输入框元素
var input = document.getElementById('myInput');
// 当输入框失去焦点时
input.addEventListener('blur', function() {
// 检查是否已经有值,无值则显示placeholder
if (this.value === '') {
this.style.color = 'gray'; // 修改字体颜色为灰色或其他样式
this.placeholder = ''; // 隐藏原生的placeholder
}
});
// 当输入框获得焦点时
input.addEventListener('focus', function() {
// 如果输入框有值,隐藏提示文字
if (this.value !== '') {
this.style.color = 'black'; // 回复正常颜色
this.placeholder = '请输入内容'; // 显示placeholder
}
});
```
以上代码会在用户按下其他地方或者切换到另一个窗口时,将输入框内的提示文字隐藏,当再次聚焦时提示文字会恢复显示。
阅读全文