最近在设计网页时,遇到了一个小问题:当我设置了一个`textarea`输入框,并希望它具备点击后文字消失(placeholder效果)的功能时,却发现默认值不见了!😱 作为一个追求完美的开发者,这让我有点抓狂。
首先,我使用了简单的JavaScript来实现点击清除功能。代码逻辑是检测到`textarea`获得焦点时清空内容,失去焦点时恢复默认值。但问题来了,当用户没有填写任何内容时,默认值却消失了。😭
后来我发现,这是因为我的逻辑覆盖了默认值。解决方法其实很简单:只需要判断当前内容是否为空字符串,再决定是否需要恢复默认值即可!💡 例如,可以这样写:
```javascript
let defaultValue = '请输入你的内容';
document.querySelector('textarea').addEventListener('focus', () => {
if (this.value === defaultValue) {
this.value = '';
}
});
document.querySelector('textarea').addEventListener('blur', () => {
if (!this.value) {
this.value = defaultValue;
}
});
```
这样,点击时默认值消失,但一旦失去焦点且未输入内容,则会自动恢复默认值。完美解决了我的困扰!💪
现在,我的网页不仅有了流畅的用户体验,还成功实现了预期效果!😉