2011-08-22 6 views
27

Come posso rilevare quando una casella di avviso javascript è OK e/o chiusa?Javascript: Rileva quando una casella di avviso è OK e/o chiusa

+0

Intendete confermare()? Una finestra di avviso viene mostrata solo per notificare qualcosa (in un modo piuttosto brutto, ma hey ...) e non restituisce nulla. –

+0

Cosa hai provato? Qualunque cosa semplice/sciocca che avresti provato avrebbe funzionato, perché la risposta è molto semplice: non riconosci. il browser lo fa per te: aspetta con l'avviso prima che faccia qualsiasi altra cosa. – Nivas

+1

+1 perché questo è davvero interessante ... – Red

risposta

45

Dal alert sta bloccando:

alert('foo'); 
function_to_call_when_oked_or_closed(); 

Basta mettere la funzione dopo la chiamata a alert.

+0

Puoi mettere un plnkr e mostrare? – Gary

+1

@Gary - Per due righe più una funzione arbitraria? Sembra davvero inutile costruire una demo dal vivo per questo, lasciamolo uno ospitato su un URL di terze parti. – Quentin

+0

Non riesco a farlo funzionare come previsto, né i documenti lo suggeriscono. – Gary

11

È possibile visualizzare una confirm box che visualizza un messaggio con un OK e un pulsante Annulla e verificare quale pulsante l'utente cliccato da:

<script type="text/javascript"> 

var answer = confirm ("Is this working for you?") 
if (answer) 
    alert ("Woo Hoo! Then my answer was correct.") 
else 
    alert ("Darn. Well, keep trying then.") 

</script> 

Se si vuole fare uso di una semplice scatola avviso voi per esempio, puoi dare un'occhiata a 1001 tutorial online come this. Ma la tua domanda non specifica esattamente come vuoi implementare il tuo alert.

http://www.tizag.com/javascriptT/javascriptalert.php

0

Se l'utente non ha premuto OK o chiuso, il JS non passerà alla riga successiva. Quindi in realtà non c'è bisogno di rilevarlo.

Forse vuoi sapere se l'utente ha premuto o chiuso. Per la finestra di popup di avviso, non esiste un modo semplice per dire che è ok o chiusa. In Firefox, non hai nemmeno il pulsante di chiusura.

Quindi, se si desidera veramente farlo, è possibile utilizzare la casella di conferma o la casella di richiesta. Si prega di controllare il link sottostante per sapere come usare la casella di conferma o la casella di richiesta: http://www.w3schools.com/js/js_popup.asp

Problemi correlati