Ankündigung

Einklappen
Keine Ankündigung bisher.

touchmove bricht Klick bei kleinster Bewegung ab

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    touchmove bricht Klick bei kleinster Bewegung ab

    Mir ist aufgefallen, dass bei Touchscreens die Buttons nicht immer reagieren.
    Das liegt wohl daran, dass in der templateengine.js bei jeder kleinsten Bewegung mit dem Finger die Aktion abgebrochen wird und versucht wird zu scrollen.

    Ich habe eine kleine Überprüfung hinzugefügt, die die Aktion erst abbricht, wenn der Finger mehr als 5 Pixel bewegt wurde.

    https://github.com/alltime84/CometVi...plateengine.js
    Siehe Zeile 503 bis 611

    oder hier:

    Code:
    [B]var touchStartX = null;
    var touchStartY = null;[/B]
    
    window.addEventListener( isTouchDevice ? 'touchstart' : 'mousedown', function( event ){
      ...
     [B] touchobj = event.changedTouches[0];
      touchStartX = parseInt(touchobj.clientX);
      touchStartY = parseInt(touchobj.clientY);[/B]
      ...
    }
    ...
    isTouchDevice && window.addEventListener( 'touchmove', function( event ){
      ...
      [B]touchobj = event.changedTouches[0];[/B]
              
      if( !mouseEvent.alreadyCanceled 
          [B]&& ((touchStartX + 5 < parseInt(touchobj.clientX) || touchStartX - 5 > parseInt(touchobj.clientX))
               ||(touchStartY + 5 < parseInt(touchobj.clientY) || touchStartY - 5 > parseInt(touchobj.clientY))))[/B]
      { // cancel
        mouseEvent.alreadyCanceled = true;
        var actionFn  = mouseEvent.widgetCreator.action;
        actionFn && actionFn.call( widget, widget.id, mouseEvent.actor, true );
      }
      ..
    }

    #2
    Kannst Du das bitte als Pull-Request im Git stellen?

    Anders ist das nicht nachvollziehbar, testbar, ... - einfach bei der Code Komplexität nicht wirklich handlebar.
    TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

    Kommentar


      #3
      Kann ich einen Pull-Request mit dem gesamten Commit (auch inkl. MaterialDesign, Plugins, usw.) machen und ihr pickt euch dann nur die Änderungen an der templateengine.JS Datei aus? Oder muss ich versuchen Branches zu erstellen?

      Kommentar


        #4
        Ich weiß gar nicht ob man sich aus allem so leicht etwas herauspicken könnte - würde aber kein Sinn machen:
        Jeder Pull-Request sollte für sich funktionieren. Nur so kann man genau den beim Code Review auch testen. Und z.B. das unkritische schnell Mergen und das mit Diskussionsbedarf erst mal besprechen.
        TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

        Kommentar


          #5
          puh, geschafft #241

          Kommentar


            #6
            Sehr schön
            TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

            Kommentar

            Lädt...
            X