Aggreghiamo le notizie italiane sull'Open Source
Negli ultimi progetti che stavo sviluppando sono passato ad utilizzare Shadowbox, uno dei tanti framework per visualizzare immagini, filmati, pagine html e tanto altro all’interno della pagina stessa con una simpatica animazione. Se non avete capito di cosa sto parlando, forse non vi interesserà neanche quello che dirò dopo… In tutti i casi se volete un esempio di quello che può fare Shadowbox potete vedere i tanti esempi presenti a questo indirizzo: esempi shadowbox.
Ora che avete visto di cosa si tratta sicuramente vi siete accorti di aver già incontrato da qualche parte qualcosa del genere…
Bando alle ciance…
Mi sono trovato ad utilizzare Shadowbox per visualizzare alcuni campi di input in cui doveva venire digitato del testo. Tutto avveniva visualizzato correttamente, solo quando andavo a digitare del testo all’interno non veniva visualizzato niente. Provando a tenere premuti prolungatamente i tasti che volevo digitare mi veniva visualizzato qualcosa, ma ovviamente ripetuto più volte visto che lo avevo tenuto premuto più del dovuto.
Ci ho perso un bel pò di tempo, prima di arrivare a questa soluzione:
enableKeys: false
la riga che vedete sopra và inserita nelle opzioni con cui inizializzate Shadowbox (per info vedi qui).
Cosa succedeva? Perchè non funzionava?
Shadowbox fornisce anche delle scorciatoie da tastiera per poter eseguire delle operazioni, come: cambiare immagine durante la visualizzazione di una galleria, mettere in pausa un filmato, chiudere la finestra, etc…. Per fornire questa funzionalità viene catturato l’evento javascript “keypress” ed elaborato. La cattura di questo evento impedisce che alla prima pressione di un tasto quest’ultimo venga visualizzato nel campo input. La soluzione a questo problema non fà altro che disattivare la funzionalità delle scorciatoie da tastiera per effettuare operzioni e quindi funziona tutto normalmente.