JavaScript: Como selecionar "Cancelar" por padrão na caixa de confirmar?
-
18-09-2019 - |
Pergunta
Estou exibindo uma caixa de confirmar JavaScript quando o usuário clicar no botão "Excluir dados". Estou exibindo como mostrado nesta imagem:
Na imagem, o botão "OK" é selecionado por padrão. Quero selecionar o botão "Cancelar" por padrão, para que se o usuário pressionar acidentalmente o digitar Chave, os registros serão seguros e não serão excluídos.
Existe alguma maneira de JavaScript para selecionar o botão "Cancelar" por padrão?
Solução
Se você pode usar o plugin jQuery, aqui está um bom
Para alterar o botão focado padrão:
$.prompt('Example 4',{ buttons: { Ok: true, Cancel: false }, focus: 1 });
Outras dicas
Você não pode fazer isso, mas pode usar/escrever sua própria caixa de diálogo que é exibida usando elementos DOM (como Phoenix sugeriu, simplesmente não precisa ser esse plug -in de jQuery em particular, você pode escrever seu próprio ou usar o plug -in de outro Estrutura js).
As respostas "Use JQuery + Plugin X" estão começando a ficar irritantes. Existem muitas bibliotecas JS por aí e ainda mais plugins. Por exemplo, usar qualquer biblioteca JS aqui é desnecessária se você deseja apenas exibir uma caixa de diálogo personalizada. Embora seja uma solução/resposta rápida, respostas como essa causam mais danos a longo prazo do que boas. As pessoas novas em javascript ou programação em geral começam a pensar que jQuery e/ou plugins são o único caminho a percorrer e incluem biblioteca de 50kb+ apenas para escrever 3 linhas próprias (que às vezes nem usam a biblioteca: D).
Na minha opinião, o comentário de Markus Johnsson é a melhor resposta, é uma pena que não seja publicada como uma.
Eu não acho que você possa fazer isso.
Mas você definitivamente pode dificultar o "concordo acidentalmente" com a confirmação, por exemplo, forçando o usuário a digitar 'y' em uma caixa de entrada:
agree = (prompt("Type 'y' to accept", '') == 'y');