0

Как вы можете видеть здесь: http://jsfiddle.net/hWm9M/1/ , выполнив касание, пока изображение масштабируется, вы можете проверить в консоли, что событие touchmove подключено, как ожидалось. Но при полном масштабировании событие не срабатывает. Я попытался прикрепить событие на переход, но он тоже не сработал.событие touchmove не срабатывает после масштабирования изображения (scale3d)

Вот код:

var handleStart = function() { 
    this.style.webkitTransition = 'all 3s linear' 
    this.style.webkitTransform = 'scale3d(2, 2, 0)' 
    this.addEventListener("touchmove", handleMove, false) 
} 

var handleMove = function() { 
    console.log(this) 
} 

var image = document.getElementById("img") 
image.addEventListener("touchstart", handleStart, false) 

Любая идея? Спасибо!

+0

Проще обращаться с сенсорным манипулятором все время (вы добавляете список evt один раз после обработчика touchstart), и чтобы иметь логическое значение, скажите, продолжается ли ваш переход. Rq: ваш код может добавить несколько раз прослушиватель событий/триггер нескольких преобразований (случай мультитач). – GameAlchemist

+0

Как это http://jsfiddle.net/53kd8/1/? Проблема действительно связана с использованием scale3d. Я попытался использовать translate3d для тестирования, и событие продолжает стрелять после перехода. – inwpitrust

+0

хорошо, если ситуация такая ясная (хорошо с translate3d, buggy with scale3d), вы могли бы просто найти ошибку ... – GameAlchemist

ответ

1

Проблема происходит, когда вы используете Scale3D со значением Z == 0

работа Arround я использую проходит 1 вместо 0 до Z значения:

в вашем случае что-то вроде: «Scale3D (2, 2, 1) '