javascript - 在javascript事件之后将innerHTML恢复为默认值
问题描述
我有一个事件侦听器,它接受用户输入并用用户输入替换默认文本“您的用户名”。
<input type="text" class="search">
<div id="username">Your Username</div>
<script>
var search = document.querySelector('.search');
search.addEventListener('input', changeText);
function changeText() {username.innerHTML = `${this.value}`}
</script>
如果用户退格所有输入,我希望 div 的 innerHTML 恢复为默认值(即“您的用户名”)。我怎样才能做到这一点?
解决方案
将原始 HTML 存储在初始化中,如果 valye 为空字符串,则在更改侦听器中使用它:
var search = document.querySelector('.search');
var originalHTML = username.innerHTML;
search.addEventListener('input', changeText);
function changeText() {
username.innerHTML = this.value !== '' ? this.value : originalHTML;
}
推荐阅读
- javascript - 在 .env 文件中使用私钥
- google-cloud-platform - 如何强制 python 版本在从 GCP dataproc 集群旋转的数据实验室实例中同步?
- node.js - 如何使用而不是 .then 调用创建循环
- python-3.x - 使用 Python 3.7,如何使用带有值数组的 numpy complex
- javascript - 如何模拟这种方法?
- html - Flexbox 页脚不堆叠在其他 div 下
- python - 在Python中用户输入后尝试将负数转换为0
- python - 是否有适用于字符串键控、嵌套 JSONish dicts 的 python 类型注释?
- multithreading - 存储多线程函数调用输出的最佳方式
- python - Tensorflow 精度指标未初始化