JavaScript: come selezionare “Annulla” per impostazione predefinita nella casella Conferma?

StackOverflow https://stackoverflow.com/questions/1699582

  •  18-09-2019
  •  | 
  •  

Domanda

I sono la visualizzazione di dialogo confermare un JavaScript quando l'utente fa clic sul pulsante "Cancella dati". Io sono la visualizzazione come mostrato in questa immagine:

alt text

Nell'immagine, il pulsante "OK" è selezionata per impostazione predefinita. Voglio selezionare il pulsante "Annulla" per impostazione predefinita, in modo che se l'utente preme accidentalmente il tasto entrare, i record saranno al sicuro e non saranno cancellati.

C'è un modo in JavaScript per selezionare il pulsante "Annulla" per impostazione predefinita?

È stato utile?

Soluzione

Se è possibile utilizzare plugin jQuery allora qui è una bella

jQuery Impromptu

Per modificare il pulsante concentrato di default:

$.prompt('Example 4',{ buttons: { Ok: true, Cancel: false }, focus: 1 });

Altri suggerimenti

Non si può fare questo, ma è possibile utilizzare / scrivere il proprio dialogo che viene visualizzata utilizzando elementi DOM (come suggerito phoenix, semplicemente non deve essere quel particolare plugin per jQuery, si potrebbe scrivere il proprio o l'uso plug-in da un altro quadro JS).

I "utilizzare jQuery + plug-X" risposte stanno iniziando a diventare seccante. Ci sono un sacco di librerie JS là fuori e ancora di più i plugin. Ad esempio, utilizzando qualsiasi libreria JS qui non è necessaria se si desidera solo per visualizzare una finestra di dialogo personalizzata. Mentre è una soluzione rapida / risposta, le risposte del genere danno fare di più in un lungo periodo allora bene. Persone nuove per JavaScript o di programmazione in start generale, a pensare che jQuery e / o plugin sono l'unico modo per andare e comprendono 50kb + libreria solo scrivere 3 righe di loro (che a volte non hanno nemmeno utilizzano la libreria: D).

A mio parere Markus Johnsson commento è la migliore risposta, è un peccato che non è pubblicato come uno.

Non credo che si può fare.

Ma si può sicuramente rendere più difficile per l'utente di accidentalmente 'd'accordo' con la conferma, ad esempio forzando l'utente a digitare 'y' in una casella di input:

agree = (prompt("Type 'y' to accept", '') == 'y');
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top