一个控件问题,麻烦老师帮忙解决一下
来源:3-4 计算属性,方法与侦听器
目訫
2019-06-02
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>text</title>
</head>
<body>
<div tabindex="1">
<input id="text" type="text" />
<ul style="display: none;">
<li>编号0001</li>
</ul>
</div>
<script>
let text = document.getElementById('text'); // 获取文本框
let oul = document.getElementsByTagName('ul')[0]; // 获取ul标签
let oli = oul.getElementsByTagName('li'); // 获取li标签
// 文本框获得焦点的时候ul列表显示
text.addEventListener("focusin", () => {
oul.style.display = 'block';
})
// 文本框失去焦点的时候ul列表隐藏
text.addEventListener("focusout", () => {
oul.style.display = 'none';
})
// 现在我用的方法是setTimeout
// text.onblur = function() {
// setTimeout(() => {
// console.log(1)
// oul.style.display = 'none';
// }, 100)
// }
// 为每一个li标签添加点击事件:将li标签里面的内容存储在文本框里
for (let i = 0; i < oli.length; i++) {
oli[i].onclick = function() {
text.value = this.innerHTML;
}
}
</script>
</body>
</html>
老师,如果不通过定时器,怎么解决这个问题
写回答
1回答
-
目訫
提问者
2019-06-07
老师,可以帮忙回答一下这个问题吗?
062019-06-08
相似问题