js当输入框获取焦点时展示输入框内的搜索图标 失去焦点时隐藏搜索图标
时间: 2023-08-05 12:06:25 浏览: 45
可以使用JavaScript来实现这个效果,具体实现步骤如下:
1. 在HTML中添加一个输入框和一个搜索图标,可以使用Font Awesome等图标库。
```
<input type="text" id="search-box">
<i class="fa fa-search" id="search-icon"></i>
```
2. 使用CSS将搜索图标默认隐藏。
```
#search-icon {
display: none;
}
```
3. 使用JavaScript监听输入框的焦点事件,并在事件触发时展示或隐藏搜索图标。
```
var searchBox = document.getElementById("search-box");
var searchIcon = document.getElementById("search-icon");
searchBox.addEventListener("focus", function() {
searchIcon.style.display = "block";
});
searchBox.addEventListener("blur", function() {
searchIcon.style.display = "none";
});
```
这样就可以实现输入框获取焦点时展示搜索图标,失去焦点时隐藏搜索图标的效果了。
相关问题
layui input监听 过去焦点时可点击 输入框内图标 否则不可点击
你可以使用 layui 的 form 模块中的 on 和 off 方法来实现监听输入框的焦点变化。
首先,在输入框后面添加一个图标,例如:
```html
<div class="layui-input-inline">
<input type="text" name="username" lay-verify="required" placeholder="请输入用户名" autocomplete="off" class="layui-input">
<i class="layui-icon layui-icon-username" id="icon"></i>
</div>
```
然后,在 JavaScript 中添加监听代码:
```javascript
layui.use('form', function(){
var form = layui.form;
// 监听输入框的焦点变化
$('input[name="username"]').on('focus', function() {
$('#icon').addClass('layui-icon-click');
}).on('blur', function() {
$('#icon').removeClass('layui-icon-click');
});
// 点击图标的事件
$('#icon').on('click', function() {
if ($('#icon').hasClass('layui-icon-click')) {
// 可以执行点击事件的代码
alert('图标被点击了!');
}
});
});
```
上面的代码中,我们使用了 jQuery 的 on 和 off 方法来监听输入框的焦点变化。当输入框获得焦点时,我们给图标添加一个类名,使其变为可点击状态;当输入框失去焦点时,我们移除这个类名,使其变为不可点击状态。
在图标的点击事件中,我们判断是否有这个可点击的类名,如果有,则执行点击事件的代码。
js实现获取焦点显示百度的输入框效果 失去焦点则隐藏
可以通过监听输入框的 focus 和 blur 事件来实现获取焦点显示、失去焦点隐藏的效果,具体代码如下:
```html
<!DOCTYPE html>
<html>
<head>
<title>百度输入框</title>
<style>
#search-box {
position: relative;
width: 400px;
height: 30px;
margin: 0 auto;
margin-top: 100px;
}
#search-input {
width: 100%;
height: 100%;
padding: 0 10px;
font-size: 16px;
border: 1px solid #ccc;
border-radius: 15px;
outline: none;
box-sizing: border-box;
}
#search-suggest {
position: absolute;
top: 30px;
left: 0;
width: 400px;
max-height: 200px;
overflow: auto;
box-sizing: border-box;
border: 1px solid #ccc;
border-radius: 5px;
background-color: #fff;
display: none;
}
#search-suggest ul {
list-style: none;
margin: 0;
padding: 0;
}
#search-suggest li {
height: 30px;
line-height: 30px;
padding: 0 10px;
cursor: pointer;
}
#search-suggest li:hover {
background-color: #f5f5f5;
}
</style>
</head>
<body>
<div id="search-box">
<input type="text" id="search-input" placeholder="输入搜索内容">
<div id="search-suggest"></div>
</div>
<script>
var searchInput = document.getElementById('search-input');
var searchSuggest = document.getElementById('search-suggest');
searchInput.addEventListener('focus', function() {
searchSuggest.style.display = 'block';
});
searchInput.addEventListener('blur', function() {
searchSuggest.style.display = 'none';
});
</script>
</body>
</html>
```
通过监听输入框的 focus 和 blur 事件,当输入框获取焦点时,显示搜索建议框,当输入框失去焦点时,隐藏搜索建议框。搜索建议框使用绝对定位实现,并设置了最大高度和滚动条。