Sto sperimentando un comportamento strano con jquery ui autocomplete when using it to create a combobox. Ogni volta che clicco sulla barra di scorrimento per scorrere l'elenco dei risultati E quindi fare clic sul mio pulsante Combobox per chiudere i risultati, l'elenco dei risultati si chiude e poi si riapre. Mi aspetto che chiuda il menu.Jquery UI combobox completamento automatico pulsante clic evento
Procedura per Repro
- open jsfiddle demo
- tipo 'i' nel completamento automatico o colpire il pulsante a discesa.
- Cliccare sulla scorrimento verticale per scorrere i risultati
- Fare clic sul pulsante a discesa
script per creare Pulsante
this.button = $("<button type='button'> </button>")
.attr({ "tabIndex": -1, "title": "Show all items" })
.insertAfter(input)
.button({
icons: {
primary: "ui-icon-triangle-1-s"
},
text: false
})
.removeClass("ui-corner-all")
.addClass("ui-corner-right ui-button-icon")
.click(function() {
// when i put breakpoint here, and my focus is not on input,
// then this if steatment is false????
if (input.autocomplete("widget").is(":visible")) {
input.autocomplete("close");
return;
}
// work around a bug (likely same cause as #5265)
$(this).blur();
// pass empty string as value to search for, displaying all results
input.autocomplete("search", "");
input.focus();
});
CSS (forza risultati a lungo menù per scorrere)
.ui-autocomplete {
max-height: 100px;
overflow-y: auto;
/* prevent horizontal scrollbar */
overflow-x: hidden;
/* add padding to account for vertical scrollbar */
padding-right: 20px;
}
/* IE 6 doesn't support max-height
* we use height instead, but this forces the menu to always be this tall
*/
* html .ui-autocomplete {
height: 100px;
}
La mia soluzione potrebbe chiudere il widget anche se lo stato attivo viene trasferito al widget stesso e non all'elemento di input?
Qualche idea su come modificare questo codice in modo che si comporti in questo modo?
Potrebbe fornire il codice HTML, forse un JSFiddle? Sarebbe molto più facile ottenerlo allora. –
Non capisco cosa stai cercando di ottenere qui .. [jsfiddle] (http://jsfiddle.net/vR9s2/2/) –
Quale problema stai effettivamente cercando di risolvere? –