Eu sou muito noob, então acho que estou supervisionando algo (provavelmente óbvio) com o modal bootstrap do Twitter. O que estou tentando fazer é conseguir um modal para lançar apenas no celular. Isso funciona bem com a adição da classe .visible-phone no div modal. Por enquanto, tudo bem. Mas quero que funcione, o que significa que você pode fechá-lo com o botão X. E não consigo fazer o botão funcionar.
<div class="modal visible-phone" id="myModal">
<div class="modal-header">
<button class="close" data-dismiss="modal">×</button>
<h3>text introductory<br>want to navigate to...</h3>
</div>
<div class="modal-body">
<ul class="nav">
<li> ... list of links here </li>
</ul>
</div>
</div>
No final do html coloco jquery.js (primeiro) e bootstrap.modal.js e bootstrap.transition.js. Na verdade, todos os módulos de bootstrap js (para não perder um include). Não tenho experiência com js ..
Perdoe-me se fiz uma pergunta realmente estúpida. Não consegui encontrar a resposta para esta situação específica no log.
fonte
$('#myModal').modal('show')
funciona para mim, mas ocultar não.$('#myModal').modal('toggle');
lugarTive problemas para fechar a caixa de diálogo modal de bootstrap, se ela foi aberta com:
Resolvi este problema ao abrir a caixa de diálogo através do seguinte link:
Não se esqueça da inicialização:
Também usei os seguintes atributos para o botão de fechamento:
fonte
Adicione a classe ocultar ao modal
Código Javascript
fonte
.modal ('ocultar') oculta manualmente um modal. Use o seguinte código para fechar seu modelo de bootstrap
Dê uma olhada no código de trabalho aqui
Ou
Tente aqui
Exibir trecho de código
fonte
Tente especificar exatamente o modal que o botão deve fechar com data-target. Portanto, seu botão deve ser semelhante ao seguinte -
Além disso, você só precisa de bootstrap.modal.js para poder remover os outros com segurança.
Editar: se isso não funcionar, remova a classe visible-phone e teste-a no navegador do PC, em vez do telefone. Isso mostrará se você está recebendo erros de javascript ou se é um problema de compatibilidade, por exemplo.
Editar: código de demonstração
fonte
code
<div class = "modal visible-phone" id = "myModal"> <div class = "modal-header"> <button class = "close" data-despedir = "modal" data-target = "# myModal"> × </button> <h3> texto introdutório <br> deseja navegar para ... </h3> </div> <div class = "modal-body"> <ul class = "nav"> <li> .. . lista de links aqui </li> <li> link2 </li> <li> link3 </li> </ul> </div> </div>code
<div class="modal visible-phone" id="myModal"> <div class="modal-header"> <button class="close" data-dismiss="modal" data-target="#myModal">×</button> <h3>text introductory<br>want to navigate to...</h3> </div> <div class="modal-body"> <ul class="nav"> <li> ... list of links here </li> <li> link2 </li> <li> link3 </li> </ul> </div> </div>
De acordo com a documentação, ocultar / alternar deve funcionar. Mas isso não acontece.
Aqui está como eu fiz
fonte
$("#modal-id").modal("toggle"); $(".modal-backdrop").fadeOut('fast',function(){ $("body").removeClass( "modal-open" ); $(".modal-backdrop").remove(); });
Experimente isso ..
fonte
Tive o mesmo problema no iphone ou desktop, não consegui fechar a caixa de diálogo ao pressionar o botão Fechar.
Eu descobri que a
<button>
tag define um botão clicável e é necessária para especificar o atributo type para um elemento da seguinte maneira:verifique o código de exemplo para modais de bootstrap em: Página BootStrap javascript
fonte
Se você tiver poucos modais mostrados simultaneamente, pode especificar o modal de destino para o botão in-modal com atributos
data-toggle
edata-target
:Em algum lugar fora do código modal, você pode ter outro botão de alternância:
O usuário não pode clicar no botão de alternância modal enquanto este botão estiver oculto e correto funcionar com a opção
"modal"
de atributodata-toggle
. Este esquema funciona de forma automática!fonte
Aqui está um snippet para não apenas fechar modais sem atualizar a página, mas ao pressionar Enter, ele envia modal e fecha sem atualizar
Eu tenho configurado em meu site onde posso ter vários modais e alguns modais processam dados no envio e outros não. O que faço é criar um ID exclusivo para cada modal que realiza o processamento. Por exemplo, em minha página da web:
HTML (rodapé modal):
jQUERY:
Como você pode ver, o envio executa o processamento, por isso tenho esse jQuery para esse modal. Agora, digamos que eu tenha outro modal nesta página da web, mas nenhum processamento é executado e, como um modal é aberto por vez, coloco outro
$(document).ready()
em um script php / js global que todas as páginas obtêm e dou ao botão Fechar do modal uma classe chamada".modal-close"
::HTML:
jQuery (inclua global.inc):
fonte