Estoy usando un tema jQuery 1.10.3 personalizado. Descargué todo directamente del rodillo de temas y no he cambiado nada intencionalmente.
Creo un cuadro de diálogo y obtengo un cuadrado gris vacío donde debería estar el icono de cierre:
Comparé el código que se genera en mi página:
<div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix">
<spanid="ui-id-2" class="ui-dialog-title">Title</span>
<button class="ui-dialog-titlebar-close"></button>
</div>
al código generado en la página de demostración de diálogo :
<div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix">
<span id="ui-id-1" class="ui-dialog-title">Basic dialog</span>
<button class="ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only ui-dialog-titlebar-close" role="button" aria-disabled="false" title="close">
<span class="ui-button-icon-primary ui-icon ui-icon-closethick"></span>
<span class="ui-button-text">close</span>
</button>
</div>
EDITAR: jQueryUI genera las diferentes partes del código , no yo, por lo que no puedo simplemente agregar las etiquetas span sin editar el archivo jqueryui js, que parece una elección mala / innecesaria para lograr la funcionalidad normal.
Aquí está el javascript utilizado que genera esa parte del código:
this.element.dialog({
appendTo: "#summary_container",
title: this.title(),
closeText: "Close",
width: this.width,
position: {
my: "center top",
at: ("center top+"+(window.innerHeight*.1)),
collision: "none"
},
modal: false,
resizable: false,
draggable: false,
show: "fold",
hide: "fold",
close: function(){
if(KOVM.areaSummary.isVisible()){
KOVM.areaSummary.isVisible(false);
}
}
});
Estoy perdido y necesito ayuda. Gracias por adelantado.
javascript
jquery-ui
jquery-ui-dialog
imagebutton
Xion Dark
fuente
fuente
Respuestas:
Llego tarde a esto por un tiempo, pero te voy a volar la cabeza, ¿listo?
La razón por la que esto está sucediendo es porque está llamando a bootstrap, después de llamar a jquery-ui.
Literalmente, intercambie los dos para que en lugar de:
se vuelve
:)
fuente
$.fn.bootstrapBtn = $.fn.button.noConflict();
stackoverflow.com/a/23428433/402517Este es un comentario sobre la respuesta principal, pero sentí que valía la pena su propia respuesta porque me ayudó a resolver el problema.
Si desea mantener Bootstrap declarado después de la interfaz de usuario de JQuery (lo hice porque quería usar la información sobre herramientas de Bootstrap), declarar lo siguiente (lo declaró después
$(document).ready
) permitirá que el botón aparezca nuevamente (respuesta de https://stackoverflow.com/ a / 23428433/4660870 )fuente
Esto parece ser un error en la forma en que se envía jQuery. Puedes arreglarlo manualmente con alguna manipulación dom en el
Dialog Open
evento:fuente
Esto se informa como roto en 1.10
http://blog.jqueryui.com/2013/01/jquery-ui-1-10-0/
Descargué la versión anterior y la X para el botón de cierre muestra una copia de seguridad.
fuente
Encontré tres soluciones:
Esta:
ayuda Pero otros botones se ven terribles. Y ahora no tenemos botones de arranque.
Solo quiero usar estilos de arranque y también quiero tener un botón de cierre con un ícono. He hecho lo siguiente:
Cómo se ve el botón de cierre después de la corrección
fuente
Tuve el mismo problema exacto, tal vez ya verificaste esto pero lo resolviste simplemente colocando la carpeta "images" en la misma ubicación que jquery-ui.css
fuente
Me quedé atrapado con el mismo problema y después de leer y probar todas las sugerencias anteriores, intenté reemplazar manualmente esta imagen (que puedes encontrar aquí ) en el CSS después de descargarla y guardarla en la carpeta de imágenes en mi aplicación y listo, ¡problema resuelto!
Aquí está el CSS:
fuente
Estoy usando jQuery UI 1.8.17 y tuve el mismo problema, además de que se aplicaron hojas de estilo CSS adicionales a elementos de la página, incluido el color de la barra de título. Entonces, para evitar otros problemas, apunté los elementos exactos de la interfaz de usuario usando el siguiente código:
Luego agregué un botón de cierre en las propiedades del cuadro de diálogo en sí: ...
Por alguna razón tuve que apuntar a ambos elementos, ¡pero funciona!
fuente
Sé que esta pregunta es antigua, pero acabo de tener este problema con jquery-ui v1.12.0.
Respuesta corta Asegúrese de tener una carpeta llamada
Images
en el mismo lugar que tienejquery-ui.min.css
. La carpeta de imágenes debe contener las imágenes encontradas con una nueva descarga de jquery-uiRespuesta larga
Mi problema es que estoy usando gulp para fusionar todos mis archivos css en un solo archivo. Cuando hago eso, estoy cambiando la ubicación de
jquery-ui.min.css
. El código CSS para el diálogo espera una carpeta llamadaImages
en el mismo directorio y dentro de esta carpeta espera iconos predeterminados. Como Gulp no estaba copiando las imágenes en el nuevo destino, no mostraba el ícono x.fuente
Como referencia, así es como extendí el método abierto según la sugerencia de @ john-macintyre:
fuente
}
fuente
Si está llamando al diálogo () dentro de la función js, puede usar los siguientes códigos de conflicto del botón de arranque
fuente
Un hombre sabio una vez me ayudó.
En la carpeta donde
jquery-ui.css
se encuentra, cree una carpeta llamada "imágenes" y copie los archivos a continuación:y aparece el ícono de cerrar.
fuente
Simplemente agregue lo que falta:
fuente
Estoy teniendo este problema también. Aquí está el código que se inserta para el botón de cierre:
Cuando apago el style = "display: none:" en el botón, aparece el botón de cerrar. Entonces, por alguna razón, esa pantalla: ninguna; se está preparando, y no veo cómo controlar eso. Entonces, otra forma de abordar esto podría ser simplemente anular la pantalla: ninguna. Sin embargo, no veo cómo hacerlo.
Noto que la respuesta publicada por KyleMit funciona, pero hace un botón X de aspecto diferente.
También noto que este problema no afecta todos los diálogos en mis páginas, sino solo algunos de ellos. Algunos diálogos funcionan como se esperaba; otros no tienen título (es decir, el espacio que contiene el título está vacío) mientras el botón de cierre está presente.
Estoy pensando que algo está muy mal y podría no ser el momento para 1.10.x.
Pero después de más trabajo, descubrí que en algunos casos los títulos no se configuraban correctamente, y después de arreglar eso, el botón de cierre X reapareció como debería ser.
Solía configurar los títulos de esta manera:
Esa identificación no existe en mi código, pero aparentemente es creada por jquery desde ac-popup y ui-dialog-title. Una especie de error. Pero como dije, eso ya no funciona, y tengo que usar lo siguiente en su lugar:
Después de hacer eso, el problema del botón faltante parece ser mejor, aunque no estoy seguro de si están definitivamente relacionados.
fuente
Incluso cargando bootstrap después de jquery-ui, pude arreglarlo usando esto:
fuente