Negli script precedenti abbiamo illustrato come sia possibile, anche dal browser, implementare le gesture come ad esempio il tap, tap-hold e swipe.
https://www.html5italia.com/script/26/Gestire-Eventi-Tipo-Touch-HTML5.aspx
https://www.html5italia.com/script/27/Eventi-Tocco-Personalizzati-HTML5.aspx
I più "pigri" potrebbero trovare migliorabile e poco intuitiva l'operatività illustrata in questi script, accogliendo con favore librerie che, come HammerJS, possono facilitare il lavoro e ridurre il codice necessario per implementare le gesture.
HammerJS è una libreria Javascript, disponibile qui:http://eightmedia.github.com/hammer.js/, che vanta le seguenti caratteristiche:
- gestione semplificata degli eventi touch e soprattutto, multi-touch!
- facilmente integrabile
- peso ridotto a 2kb
- disponibile come plugin di jQuery
Ecco come nella pratica, HammerJS consente di implementare le gesture Tap, Double Tap, Swipe, Hold, Transform/Pinch, Drag in un sito web (o mobile web):
<!doctype html> <html> <head> </head> <body> <div id="touchArea"></div> <div id="logArea"></div> <script src="../query.min.js"></script> <script src="../hammer.js"></script> <script src="../jquery.hammer.js"></script> </body> </html>
var log = $("#logArea"); function writeLog(str) { log.prepend(str +"<br>"); } $("#touchArea").hammer({ prevent_default: false, drag_vertical: false }) .bind("hold tap doubletap transformstart transform transformend dragstart drag dragend release swipe", function(event) { writeLog(event.type); //disponibili anche: //event.direction (right, left...) //event.distance (per valutare l'intervallo in pixel interessato dalla gesture) });
E' evidente che, utilizzando questa libreria, la sintassi risulta semplificata ed allo stesso tempo la varietà delle gesture supportate copre la maggioranza degli scenari touch-based.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Estrarre dati randomici da una lista di oggetti in C#
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Creare una custom property in GitHub
Creare una libreria CSS universale: Cards
Disabilitare automaticamente un workflow di GitHub
Eliminare una project wiki di Azure DevOps
Applicare un filtro per recuperare alcune issue di GitHub
Aggiornare a .NET 9 su Azure App Service
Creare una libreria CSS universale: Immagini
Visualizzare le change sul plan di Terraform tramite le GitHub Actions