Originariamente inviato da Sballerio
Non posso provarlo in questo momento però credo che se fai un ciclo while e come condizione per l'uscita dal ciclo metti per esempio un valore che diventa true al click dell'utente potrebbe funzionare.
Il problema sta allora nell'interattività dello script. Se fa un ciclo infinito da cui si puo' uscire solo tramite un click su un elemento che è (ovviamente) fuori dal codice del ciclo è impossibile uscire visto che la CPU sta eseguendo il ciclo.

Secondo me è meglio usare setTimeout.