Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114

    Eventi per Mobile (es. Trascinare un div dopo averlo cliccato)

    Sto avendo problemi con il sistema Touch Screen dei mobile per quello che avevo fatto per i normali browser.
    Ad esempio, cambio colore di una TD con onclick e se mi sposto onmousedown (cioè tengo premuto onclick) su un'altra TD anche quest'ultima cambia colore; questo si ripete fino a quando onmouseup.
    Ma appunto non capisco come funziona il sistema Touch Screen e vorrei saperne di più (quali eventi mantiene e quali vanno gestiti diversamente).

    Grazie infinite!

  2. #2
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Ho trovato gli eventi Javascript per gli eventi Touch http://www.w3.org/TR/touch-events/
    Come posso implementarli?

    Cioè ad esempio posso fare:
    codice:
    <div onmouseover="etc" onclick="etc" ontouchstart="etc">...</div>
    La domanda è: quali sono i modi corretti per non far entrare in conflitto onclick con ontouch, etc.?

    Grazie infinite!
    Ultima modifica di Igreo; 23-04-2014 a 05:22

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da Igreo Visualizza il messaggio
    Ho trovato gli eventi Javascript per gli eventi Touch http://www.w3.org/TR/touch-events/
    Come posso implementarli?

    Cioè ad esempio posso fare:
    codice:
    <div onmouseover="etc" onclick="etc" ontouchstart="etc">...</div>
    La domanda è: quali sono i modi corretti per non far entrare in conflitto onclick con ontouch, etc.?

    Grazie infinite!
    Di norma si cerca di tenerli separati e per questo motivo che si fanno siti per applicativi mobili e per desktop distinti.
    Principalmente i problemi li avresti quando il sito sarebbe visitato da dispositivi mobili perché supporta entrambi gli eventi, ma in futuro anche i desktop supporteranno maggiormente il touch

    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Vorrei apporfondire..
    onclick = ontouchstart
    onmouseover = ontouchmove
    onmouseup = ontouchend / ontouchcancel

    Se questo sopra è giusto (cmq mi piacerebbe saperne di più), cosa i mobile supportano come i desktop e viceversa?
    Oltremodo cosa ho omesso o potrei fare (oltre a generare pagine diverse mobile/desktop, che non escludo di fare nel futuro)?

    Grazie ancora!

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non so dare risposte alle tue domande, se non trovi guide qui su html o in rete che possono aiutarti, orientati su dei libri (sempre che ci siano) l'unica cosa che ho notato e che si tende a separare siti per mobile siti per desktop ma non so dirti se per un concetto tecnico eventi che vanno in conflitto (come in questo caso) o se puramente commerciale vendo due siti invece di uno.
    A te onore di capirlo auguri.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Questa è la miglior guida al momento:
    http://www.javascriptkit.com/javatut...chevents.shtml

    E guardando il codice sorgente rende tutto crossbrowser in questa maniera:
    fa un controllo se è possibile effettuare il touch
    codice:
    var detecttouch = !!('ontouchstart' in window) || !!('ontouchstart' in document.documentElement) || !!window.ontouchstart || !!window.Touch || !!window.onmsgesturechange || (window.DocumentTouch && window.document instanceof window.DocumentTouch)
    quindi riscrive, inserendo sugl'elementi, gli eventi elemento.
    addEventListener in base a detecttouch:
    touchstart o mousedown
    touchmove o mousemove
    touchend o mouseup

    ...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.