@Richswitch
junior

Почему событие touch.. возвращает undefined?

Привет!
Хочу вычислить координаты блока div.
Пишу такой код:
<div id="sliderRangeHor">
							<div id="progress"></div>
							<div id="indicator"></div>
						</div>
					</div>

var progress = document.getElementById('progress');
var indicator = document.getElementById('indicator');

progress.addEventListener('touchstart', function(evt){
	progressStart(event);
},false);
progress.addEventListener('touchmove', function(evt){
	progressMove(event);
},false);

progress.onclick = function(evt) {
  var x = evt.offsetX==undefined?evt.layerX:evt.offsetX;
  var y = evt.offsetY==undefined?evt.layerY:evt.offsetY;
  alert(x +'x'+ y);
};

var startingX;
function progressStart(evt) {
	startingX = evt.touches[0].clientX;
 	var x = evt.offsetX==undefined?evt.layerX:evt.offsetX;
  var y = evt.offsetY==undefined?evt.layerY:evt.offsetY;
 	console.log(x + '    touchstart');
	console.log(y + '    touchstart');
};

function 	progressMove(evt) {
	var touch = evt.touches[0].clientX;
	var x = evt.offsetX==undefined?evt.layerX:evt.offsetX;
  var y = evt.offsetY==undefined?evt.layerY:evt.offsetY;
 	console.log(x + '    touchmove');
	console.log(y + '    touchmove');
};

Ссылка на codepan

Событие onclick возвращает alert с координатами, а события touch.. возвращают undefined. В чем может быть причина? Подозреваю что в области видимости, но не пойму как это обойти.
  • Вопрос задан
  • 669 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы