javascript - 基于单击的元素模糊异常

标签 javascript jquery focusout

enter image description here

工作原理

我正在构建一个演示搜索框,当焦点集中时输入字段不为空时,搜索结果会显示。当您模糊搜索结果容器时,搜索结果容器会隐藏。

问题

当我单击搜索结果容器时出现问题。输入字段随着搜索结果容器隐藏的结果而变得模糊。

如何使其工作,以便搜索结果容器在单击它(或其中的元素)时不会隐藏。

HTML

<div class="searchbox">
   <input class="input">
   <div class="search-results">
      // Results
   </div>
</div><!--End .searchbox-->

jQuery

$('.searchfield .input').focusin(function() {

   // When value is not empty show search results
   if ($(this).val() !== '') {
      $('.searchbox .search-results').fadeIn(10);
   }

   // Other code

}).focusout(function() {

   // Hide search results
   $('.searchbox .search-results').fadeOut(10);

   // Other code

});

最佳答案

我通过在模糊期间添加淡出延迟来解决我的问题。这样我就可以单击容器内的按钮。

$('.searchfield .input').focusin(function() {

   // When value is not empty show search results
   if ($(this).val() !== '') {
      $('.searchbox .search-results').fadeIn(10);
   }

   // Other code

}).focusout(function() {

   // Hide search results
   $('.searchbox .search-results').delay(300).fadeOut(10);

   // Other code

});

关于javascript - 基于单击的元素模糊异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51516352/

相关文章:

javascript - 为什么将 focusout 与 jQuery 结合使用对 Firefox 有效,而使用 addEventListener 则无效?

javascript - 单击在不同输入上启动 focusout 事件的 DOM 问题

jquery - focus() 不会将光标带入字段

javascript - 使用 Jquery/PHP/Mysql 更新编辑值

javascript - JS Fullcalendar 背景颜色未设置

javascript - 如何在 Google Chrome 的 HTML 表格中实现分页?

javascript - 使用 pug-html-loader 将数据传递给哈巴狗(无法读取未定义的属性)

javascript - 检查用户是否已登录 Google 网络应用

javascript - 如何根据 React js 中 api 的响应显示成功或错误消息

jquery - 为什么 jQuery 与 jQuery Mobile 冲突?