2017-10-17 2 views
0

Ich versuche, einen Folie-Effekt in Chrom zu machen, aber ich bekomme immer einen Fehler, wenn ich gleite. Hier ist mein Code:element.changedTouches [0] Fehler undefiniert. Chrome-Fehler?

$(function() { 
     $('.table.table-responsive.table-condensed tbody tr').on('touchstart', function (e) { 
      touchsurface.innerHTML = '' 
      var touchobj = e.changedTouches[0] 
      dist = 0 
      startX = touchobj.pageX 
      startY = touchobj.pageY 
      startTime = new Date().getTime() // record time when finger first makes contact with surface 
      e.preventDefault(); 
     }); 
    }, false) 

Dies ist der Fehler, den ich bekommen: Uncaught Typeerror: kann nicht lesen Eigenschaft ‚0‘ von undefiniert. Dies ist online: var touchobj = e.changedTouches [0]

+0

Nur für den Fall, wenn Sie das jQuery-Ereignis debuggen, mit 'console.log (e)' es zum Beispiel nicht enthält 'targetTouches'? – lovethebomb

Antwort

1

Das jQuery-Ereignisobjekt verfügt nicht über eine changedTouches-Eigenschaft.

The following properties are also copied to the event object, though some of their values may be undefined depending on the event:

altKey, bubbles, button, buttons, cancelable, char, charCode, clientX, clientY, ctrlKey, currentTarget, data, detail, eventPhase, key, keyCode, metaKey, offsetX, offsetY, originalTarget, pageX, pageY, relatedTarget, screenX, screenY, shiftKey, target, toElement, view, which

https://api.jquery.com/category/events/event-object/

Verwenden

e.originalEvent.changedTouches[0]