Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Bloccare il tasto indietro della tastiera al di fuori dei form

    Lo so, lo so, è una cosa stupida per non parlare dei danni che comporta all'usabilità, ma gran parte del sito su cui sto lavorando si basa su Ajax e quindi il tasto indietro non funziona.

    Di norma lo lascerei così, il problema è che se si preme indietro nel mio caso si ritorna nella pagina di Login, e potete immaginare i problemi che comporta.

    C'è un modo per disabilitare il tasto al di fuori dei form, mostrando un'alert del tipo "Mi spiace ma questo sito è basato su AJAX e non puoi tornare indietro tra le pagine utilizzando il tasto Back"?

    Grazie mille.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    No in una finestra tradizione non puoi bloccare/eliminare/limitare nessun tasto/pulsante presente nel browser, devi usare una popup e non mostrare la barra.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Originariamente inviato da cavicchiandrea
    No in una finestra tradizione non puoi bloccare/eliminare/limitare nessun tasto/pulsante presente nel browser, devi usare una popup e non mostrare la barra.
    Si, questo lo so, io intendevo il tasto Indietro della tastiera, non il pulsante del browser. Se non erro è presente un'evento "onKeyPress" (o una cosa del genere) in JS, no?

    Ho cercato un pò e ci sono degli script del genere, ma molti funzionano solo con IE.

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Dopo qualche prova sono riuscito a "bloccare" da tastiera e solo con firefox la combinazione (tasto alt + freccia sinistra)
    codice:
    <script type="text/javascript">
    document.onkeypress = function(event){
    codice = (event)?event.keyCode:window.event.keyCode;
    if(codice == 37){
    alert("operazione non ammessa");
    return false;
    }
    }
    </script>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Ok, grazie, mettendo anche || codice == 8 nell'if ho bloccato sia alt + freccia sinistra che il backspace ma non c'è un modo per fare in modo ( ) che il blocco funzioni solo al di fuori dei form?

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Crea una variabile globale di nome dentro

    Metti nei campi del form

    onfocus="dentro=true" onblur="dentro=false"

    nella gestione dei tasti fai un check della variabile dento

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.