...e anche l'usabilità, se per questo.
Ma nel caso il sito/portale/applicativo web a cui state lavorando utilizza AJAX in particolari circostanze (es: un'utente esegue il login e va alla pagina principale, premendo Backspace tornerebbe alla pagina di login con tutti i problemi del caso) o per supportare il backspace/F5 andrebbe riscritto gran parte del codice, eccovi il JS più ricercato del web!
La particolarità di questo script, a differenza dei tanti altri che abbondano per il web, è che è crossbrowser (di solito questi tipi di script funzionano solo con IE..) e, sopratutto, disabilita i suddetti tasti solo se al di fuori dei campi input o textarea.
Attenzione: Non è opera mia, io ho semplicemente aggiunto il blocco del tasto F5 e ALT+sinistra e rifinito un pò il codice. Se sapessi chi è l'autore lo linkerei pure, ma non lo ricordo più
Ma bando alle ciance, ecco il codice:
un link a questa discussione in font-size:1px negli script utili non me lo merito, neh?codice:<script type="text/javascript"> <!-- // Kill backspace, F5 e ALT+Sinistra una volta per tutte // ===================================================== // Codice per i browser "standard" (notare target) if (typeof window.event == 'undefined'){ document.onkeypress = function(e){ var test_var=e.target.nodeName.toUpperCase(); if (e.target.type) var test_type=e.target.type.toUpperCase(); if ((test_var == 'INPUT' && test_type == 'TEXT') || test_var == 'TEXTAREA'){ return e.keyCode; }else if (e.keyCode == 8 || e.keyCode == 116 || e.keyCode == 37){ e.preventDefault(); } } // Codice per Internet Explorer (notare l'srcElement) } else { document.onkeydown = function(){ var test_var=event.srcElement.tagName.toUpperCase(); if (event.srcElement.type) var test_type=event.srcElement.type.toUpperCase(); if ((test_var == 'INPUT' && test_type == 'TEXT') || test_var == 'TEXTAREA'){ return event.keyCode; }else if (event.keyCode == 8 || event.keyCode == 116 || event.keyCode == 37){ event.returnValue=false; } } } //--> </script>![]()
![]()


Rispondi quotando