Estou usando um tema personalizado do jQuery 1.10.3. Eu baixei todas as músicas diretamente do rolo de temas e intencionalmente não mudei nada.
Crio uma caixa de diálogo e recebo um quadrado cinza vazio onde o ícone fechar deve estar:
Comparei o código gerado na minha 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>
para o código gerado na página Demo da caixa 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>
EDIT: As diferentes partes do código são geradas pelo jQueryUI, não eu, então não posso adicionar as tags span sem editar o arquivo jqueryui js, que parece ser uma opção ruim / desnecessária para obter a funcionalidade normal.
Aqui está o javascript usado que gera essa parte do 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);
}
}
});
Estou perdida e preciso de ajuda. Desde já, obrigado.
javascript
jquery-ui
jquery-ui-dialog
imagebutton
Xion Dark
fonte
fonte
Respostas:
Estou atrasado para isso daqui a pouco, mas vou explodir sua mente, pronto?
A razão pela qual isso está acontecendo é porque você está chamando o bootstrap, depois de chamar o jquery-ui.
Literalmente, troque os dois para que, em vez de:
se torna
:)
fonte
$.fn.bootstrapBtn = $.fn.button.noConflict();
stackoverflow.com/a/23428433/402517Este é um comentário sobre a resposta principal, mas achei que valeu a sua própria resposta, porque me ajudou a responder o problema.
Se você deseja manter o Bootstrap declarado após a interface do usuário do JQuery (fiz isso porque queria usar a dica de ferramenta do Bootstrap), declarar o seguinte (declarei depois
$(document).ready
) permitirá que o botão apareça novamente (resposta em https://stackoverflow.com/ a / 23428433/4660870 )fonte
Parece ser um bug na maneira como o jQuery é enviado. Você pode corrigi-lo manualmente com alguma manipulação de dom no
Dialog Open
evento:fonte
Isso é relatado como quebrado na versão 1.10
http://blog.jqueryui.com/2013/01/jquery-ui-1-10-0/
Fiz o download da versão anterior e o X do botão Fechar aparece novamente.
fonte
Encontrei três correções:
Este:
ajuda. Mas outros botões parecem terríveis. E agora não temos botões de inicialização.
Eu só quero usar estilos de botas e também quero ter o botão Fechar com um ícone. Eu fiz o seguinte:
Como o botão Fechar cuida da correção
fonte
Eu tive o mesmo problema, talvez você já tenha verificado isso, mas resolvido colocando a pasta "images" no mesmo local que o jquery-ui.css
fonte
Fiquei preso com o mesmo problema e, depois de ler e tentar todas as sugestões acima, tentei substituir manualmente esta imagem (que você pode encontrar aqui ) no CSS depois de baixá-la e salva na pasta de imagens do meu aplicativo e pronto, problema resolvido!
aqui está o CSS:
fonte
Estou usando o jQuery UI 1.8.17 e tive o mesmo problema, além de aplicar folhas de estilo css adicionais às coisas da página, incluindo a cor da barra de título. Portanto, para evitar outros problemas, direcionei os elementos exatos da interface do usuário usando o código abaixo:
Em seguida, adicionei um botão Fechar nas propriedades da própria caixa de diálogo: ...
Por alguma razão, tive que segmentar os dois itens, mas funciona!
fonte
Eu sei que essa pergunta é antiga, mas eu só tive esse problema com o jquery-ui v1.12.0.
Resposta curta Verifique se você tem uma pasta chamada
Images
no mesmo local que vocêjquery-ui.min.css
. A pasta images deve conter as imagens encontradas com um novo download do arquivo jquery-uiResposta longa
Meu problema é que estou usando o gulp para mesclar todos os meus arquivos css em um único arquivo. Quando faço isso, estou alterando a localização do
jquery-ui.min.css
. O código css da caixa de diálogo espera uma pasta chamadaImages
no mesmo diretório e dentro desta pasta espera ícones padrão. como o gulp não estava copiando as imagens para o novo destino, não estava mostrando o ícone x.fonte
Como referência, é assim que estendi o método aberto conforme a sugestão de @ john-macintyre:
fonte
}
fonte
Se você estiver chamando a caixa de diálogo () dentro da função js, poderá usar os códigos de conflito dos botões de inicialização abaixo
fonte
Um homem sábio uma vez me ajudou.
Na pasta em que
jquery-ui.css
está localizada, crie uma pasta chamada "images" e copie os arquivos abaixo para ela:e o ícone fechar aparece.
fonte
Basta adicionar o que está faltando:
fonte
Eu tambem tenho esse problema. Aqui está o código que está sendo inserido para o botão Fechar:
Quando desligo o botão style = "display: none:", o botão Fechar aparece. Então, por algum motivo, isso mostra: nenhum; está sendo definido, e eu não vejo como controlar isso. Portanto, outra maneira de resolver isso pode ser simplesmente substituir a tela: nenhuma. Não veja como fazer isso.
Observo que a resposta postada pelo KyleMit funciona, mas cria um botão X com aparência diferente.
Observe também que esse problema não afeta todas as caixas de diálogo nas minhas páginas, mas apenas algumas delas. Algumas caixas de diálogo funcionam como esperado; outros não têm título (ou seja, o espaço que contém o título está vazio) enquanto o botão Fechar estiver presente.
Estou pensando que algo está seriamente errado e talvez não seja o momento para 1.10.x.
Mas, depois de mais trabalho, descobri que, em alguns casos, os títulos não estavam sendo definidos corretamente e, depois de corrigi-lo, o botão Fechar X reapareceu como deveria.
Eu costumava definir os títulos assim:
Esse id não existe no meu código, mas é aparentemente criado pelo jquery do ac-popup e do ui-dialog-title. Uma espécie de kludge. Mas, como eu disse, não funciona mais, e tenho que usar o seguinte:
Depois disso, o problema do botão ausente parece ser melhor, embora eu não tenha certeza se eles estão definitivamente relacionados.
fonte
Mesmo carregando o bootstrap após o jquery-ui, eu consegui corrigir usando isso:
fonte