2013-05-31 10 views
2

Какие отличия должны быть я знать, когда tring дополняет рабочую функцию, которая использует мышь, чтобы работать и на смартфонах.как использовать touchmove для дополнения mousemove для андроидов

До сих пор я узнал, что на моем андроида я получить

  • TouchMove InstEd из MouseMove,
  • touchstart InstEd из MouseDown,
  • touchend InstEd из MouseUp
  • event.touches [0] .pageX insted события.clientX
  • event.touches [0] .pageY insted of event.clientY

Но этого недостаточно, код по-прежнему плохо себя ведет, что еще нужно узнать, прежде чем я смогу заставить его работать?

Exemple: http://paint.puggan.se/paint/paint_201305311921.html

При перемещении из одной точки в другую в той же группе, его добавляет желтую линию между ними. В то время как все еще разрисовывает свои краски синюю линию до ближайшей точки, если вы перетаскиваете ее или останавливаете (нажимаете вверх), она добавляет желтую линию.

Выше работает отлично с мышью в firefox для моего компьютера.

Над dosn't работы на моем андроида, я могу увидеть синие линии, но не любые желтые линии

+0

Я не много в Javascript, но это может быть потому, что вы уровень масштабирования жёстко? – ozbek

+0

где уровень масштабирования жестко закодирован? если вы ссылаетесь на мой javascript var zoom, это было просто имя, выбранное для переменной, которая масштабирует холст, андроид все еще может масштабироваться как usal –

ответ

1

Узнал еще diferences, и теперь он работает.

Когда триггер touchhend, список event.touches пуст, , и поэтому event.touch [0] не работает.

рабочая версия Exemple выше http://paint.puggan.se/paint/paint_201306011919.html

+0

Привет, У меня такая же проблема. Я уже заменил все касание, приложенное к mousemove, touchstart insted to mousedown, и прикоснулся к подсказке. Но он все еще не работает в моем андроид-браузере, я не мог найти ничего, чтобы помочь. поэтому я надеюсь, что вы могли бы сказать, как я могу это решить. –