【发布时间】:2022-02-10 16:24:22
【问题描述】:
当用户在输入字段和搜索结果框之外点击时,如何隐藏它们?
目前,如果您将鼠标悬停在 #search-btn 上,#search-container 和 #search-results 都会出现。如果你点击#search-container以外的任何地方,两者都会消失。
我希望我可以点击#search-results 而不会同时消失。
小提琴:https://jsfiddle.net/emils/d2sn7q6L/
HTML:
<div id="search-container">
<form id="search-form">
<input id="search" type="search">
</form>
</div> <!-- End search-box -->
<a id="search-btn" class="search-icon" href="#">search</a>
<div id="search-results"></div> <!-- End search-results -->
JS:
var searchInput = $("#search-container");
var searchResults = $("#search-results");
var showSearchInput = function() {
searchInput.show();
searchResults.show();
if(searchInput.is(":visible")) {
$("#search").focus();
}
};
$("#search-btn").hover(showSearchInput);
searchInput.focusout(function(e) {
searchInput.hide();
searchResults.hide();
});
【问题讨论】:
-
你真的需要点击外部隐藏吗?你可以使用另一个按钮来隐藏它们。
-
我正在将 .psd 转换为 html/css。没有关闭按钮。
标签: javascript jquery html css