javascript - 如果用户在输入框中键入内容,如何触发单击按钮

标签 javascript jquery html show-hide algolia

前言:我正在使用 Algolia 搜索在我的网站上进行搜索。如果用户开始在输入字段中键入内容,结果将开始出现在屏幕上。

最终目标:默认关闭过滤器(切换功能)。

问题:当用户开始输入时,url 发生变化,过滤器保持打开状态。

  • 如果我在用户完成输入后在控制台中应用代码,我可以看到按钮已关闭。
  • 如果我应用下面的 jQuery 代码,并且在我输入时过滤器保持关闭状态,但一旦用户停止输入过滤器再次打开。
  • 一旦我完成输入(输入失去焦点),过滤器就会再次打开。

我的方法:

  • 首先

    $("input#dropdown_search").on('input',function(e){
        $("b- utton.button.filters__button").click();     
    });
    
  • 第二

    $('input#dropdown_search').keyup(function() {
        $("button.button.filters__button").click();
    });
    
  • 第三

    $('input#dropdown_search').on('inputchange', function() { 
        $("button.button.filters__button").click();
    });
    
  • 第四名

    $("input#dropdown_search").on('change keyup paste', function () {
        ApplyFilter();
    });
    
    function ApplyFilter() {
        $("button.button.filters__button").click();
    }
    

    他们似乎没有达到即使在用户停止输入后仍隐藏过滤器的最终目标。

你能帮忙吗?

最佳答案

试试这个

$("input#dropdown_search").on('change', function () {
    $("button.button.filters__button").trigger("click");
});

对于您停止输入的问题,请尝试这个答案:Run javascript function when user finishes typing instead of on key up?

关于javascript - 如果用户在输入框中键入内容,如何触发单击按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36917917/

相关文章:

javascript - 传入的 jQuery 插件设置范围

javascript - 用 Hooks 编写这个 React 类组件的更好方法是什么?

jquery - 如何按用户位置过滤 Bing Location API 结果以实现自动完成?

c# - ASP.NET - 基于文本框按键的客户端 Gridview 数据过滤

javascript - 工具提示指令内容未更新

java - 如何通过 setVisible() 方法 wicket ajax 更改方法中模型的可见性

jquery - CSS3 动画表现怪异

javascript - 如何获取动态创建的 slider 的值?

javascript - mod_pagespeed 不推迟 javascript

javascript - 如何在JS中解析google location api的结果字符串?