Como faço para escrever meu próprio diálogo de confirmação em javascript?
-
06-07-2019 - |
Pergunta
Eu quero escrever algo que age como confirm () em javascript, mas eu quero escrevê-lo me para que eu possa esfolar a caixa de diálogo. Em ter dificuldade para pensar em como eu seria basicamente forçar o fio javascript que esperar até as responde de usuário e, em seguida, retornar verdadeiro ou falso.
Solução
Se eu fosse você, eu iria olhar para uma das bibliotecas JavaScript populares. A maioria contêm algum tipo de diálogo modal.
Um casal que encontrei para JQuery são jqModal e SimpleModal .
Quando você construir o diálogo restrita, você terá que amarrar eventos para os botões, para que você faria algo assim:
function askUserYesOrNo() {
var myDialog = $('<div class="mydialog"><p>Yes or No?</p><input type="button" id="yes" value="Yes"/><input type="button" id="no" value="No"/></div>');
$("#yes").click(handleYes);
$("#no").click(handleNo);
myDialog.modal(); //This would have to be replaced by whatever syntax the modal framework uses
}
function handleYes() {
//handle yes...
}
function handleNo() {
//handle no...
}
Outras dicas
Você realmente quer usar uma estrutura para isso, por causa do número de questões cross-browser estranhas que você encontrará tentando construí-lo sozinho.
Eu tive bons resultados usando jqModal , um plugin para o framework jQuery que permite definir diálogos modais, mas é de nenhuma maneira a única opção; tente usar o Google jQuery modal ou yui modal para algumas alternativas.
Para Mootools, existem moo.rd é Custom.Confirm e Windoo.Confirm para sua referência.
Você pode usar a janela. showModalDialog ( mozilla ), mas é uma função não-padrão introduzido pela Internet Explorer. Agora também é suportado no Firefox 3 e Safari (não tenho certeza de qual versão, mas pelo menos 3.1 e highter, mas não o iPhone).
A nu-ossos YUI modal favoritos ( exemplo ):