html点击输入框文字消失,如何实现当鼠标点击输入框时,输入框内的提示文字自动消失...

function text1_onfocus ()

text1.value=""

end function

直接在input中定义onfocus和onblur事件,缺点:鼠标一离开就显示提示文字,输入框中用户的输入也会消失。

2.提示文字根据焦点自动消失的输入框javascript

2的功能较1来说较全面,代码也稍复杂一点,功能包括:

鼠标点击输入框,输入框获得焦点时,提示文字自动消失

鼠标焦点离开输入框,提示文字根据情况显示

输入框html代码

请输入您的问题,我们回尽快给您答复!

请输入您的问题,我们回尽快给您答复! 就是这个框里面的内容,我想实现像单行文本输入栏这样的效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用HTML和JavaScript来实现这个功能。下面是一个简单的例子: ```html <!DOCTYPE html> <html> <head> <title>搜索框提示词</title> <style> #search-box { position: relative; display: inline-block; } #search-box input[type="text"] { padding-right: 40px; width: 200px; } #search-box ul { position: absolute; top: 100%; left: 0; z-index: 10; background-color: #fff; border: 1px solid #ccc; list-style: none; margin: 0; padding: 0; display: none; max-height: 200px; overflow-y: auto; } #search-box li { padding: 5px; cursor: pointer; } #search-box li:hover { background-color: #f5f5f5; } </style> </head> <body> <div id="search-box"> <input type="text" id="search-input" placeholder="搜索"> <ul id="search-results"></ul> </div> <script> // 假设这是您的提示词列表 var words = ["苹果", "香蕉", "橘子", "草莓", "蓝莓", "猕猴桃", "西瓜", "芒果"]; var input = document.getElementById("search-input"); var results = document.getElementById("search-results"); // 监听输入框的输入事件 input.addEventListener("input", function() { var value = input.value.trim().toLowerCase(); results.innerHTML = ""; if (value.length === 0) { results.style.display = "none"; return; } // 遍历提示词列表,找到匹配的项 words.forEach(function(word) { if (word.toLowerCase().indexOf(value) === 0) { var li = document.createElement("li"); li.textContent = word; li.addEventListener("click", function() { input.value = word; results.style.display = "none"; }); results.appendChild(li); } }); if (results.children.length > 0) { results.style.display = "block"; } else { results.style.display = "none"; } }); // 监听输入框的聚焦和失焦事件 input.addEventListener("focus", function() { if (results.children.length > 0) { results.style.display = "block"; } }); input.addEventListener("blur", function() { results.style.display = "none"; }); // 监听键盘事件,实现上下键选择提示词 input.addEventListener("keydown", function(e) { if (e.keyCode === 38) { // 上箭头 var selected = results.querySelector(".selected"); if (selected) { selected.classList.remove("selected"); if (selected.previousSibling) { selected = selected.previousSibling; } else { selected = results.lastChild; } } else { selected = results.lastChild; } selected.classList.add("selected"); input.value = selected.textContent; e.preventDefault(); } else if (e.keyCode === 40) { // 下箭头 var selected = results.querySelector(".selected"); if (selected) { selected.classList.remove("selected"); if (selected.nextSibling) { selected = selected.nextSibling; } else { selected = results.firstChild; } } else { selected = results.firstChild; } selected.classList.add("selected"); input.value = selected.textContent; e.preventDefault(); } else if (e.keyCode === 13) { // 回车键 var selected = results.querySelector(".selected"); if (selected) { input.value = selected.textContent; results.style.display = "none"; } } }); </script> </body> </html> ``` 这里使用了一个 `ul` 元素作为提示词列表,当输入输入通过 JavaScript 动态生成并显示这个列表,用户可以通过鼠标或键盘选择列表项,也可以直接输入搜索词。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值