Estoy experimentando un comportamiento extraño con jquery ui autocomplete when using it to create a combobox. Cada vez que hago clic en la barra de desplazamiento para desplazarse por la lista de resultados Y luego hago clic en el botón de mi cuadro combinado para cerrar los resultados, la lista de resultados se cierra y luego se abre de nuevo. Espero que cierre el menú.Jquery UI autocompletar botón del cuadro combinado clic evento
Pasos para Repro
- open jsfiddle demo
- Tipo 'i' en el autocompletar o golpear el botón desplegable.
- Haga clic en la vertical de desplazamiento para desplazarse por los resultados
- Haga clic en el botón desplegable
script para crear Botón
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 (fuerza de resultados a largo menú para desplazarse)
.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;
}
Mi solución podría ser cerrar el widget incluso si el foco se transfiere al propio widget y no al elemento de entrada?
¿Alguna idea de cómo modificar este código para que se comporte de esta manera?
Podría dar el HTML, tal vez un jsFiddle? Sería mucho más fácil conseguirlo entonces. –
No entiendo lo que estás tratando de lograr aquí .. [jsfiddle] (http://jsfiddle.net/vR9s2/2/) –
¿Qué problema estás tratando de resolver? –