pre-storia: Sto usando Algolia di ricerca per cercare il mio website.If la digitazione inizio dell'utente nel campo di input i risultati inizieranno apparendo sullo schermo.Come sparare cliccare su un pulsante se il tipo di utente in una casella di input
End goal: chiudere i filtri (funzionalità di commutazione) per impostazione predefinita.
Problemi: quando l'utente inizia a digitare nell'input l'URL cambia e i filtri rimangono aperti.
- Se applico il codice nella console dopo che l'utente ha terminato la digitazione, posso vedere il pulsante chiudersi.
- Se applico i codici jQuery sotto e mentre sto digitando i filtri restiamo chiusi, ma ancora una volta l'utente smette di digitare i filtri nuovamente aperti.
- Una volta terminato con la digitazione (l'input perde messa a fuoco) i filtri si aprono di nuovo.
Il mio approccio:
Prima
$("input#dropdown_search").on('input',function(e){ $("b- utton.button.filters__button").click(); });
Seconda
$('input#dropdown_search').keyup(function() { $("button.button.filters__button").click(); });
Terzo
$('input#dropdown_search').on('inputchange', function() { $("button.button.filters__button").click(); });
Quarto
$("input#dropdown_search").on('change keyup paste', function() { ApplyFilter(); }); function ApplyFilter() { $("button.button.filters__button").click(); }
Sembra che non raggiungono l'obiettivo finale dove tengono il filtro nascosto, anche dopo che l'utente smette di digitare.
Potete aiutare, per favore?
si può mettere un po 'del vostro codice ? –
'.click();' attiva solo altri listener di eventi aggiunti con '.click', non simulerà la pressione di un pulsante nativo per motivi di sicurezza (è possibile inviare moduli senza che l'utente lo sappia). –
@Sergiu Paraschiv l'evento click funziona bene poichè ha come target "button.button.filters__button" il problema che ho di fronte è che mentre lo digito si nasconde ma una volta smesso lo si mostra di nuovo. Se clicco da qualche altra parte, la funzione click viene tratteggiata di nuovo – John