У меня есть код JavaScript , работающий правильно.Все, что он делает, это сохраняет координаты mousedown и изменяет схему при mouseup, в зависимости от координат mousedown и mouseup.
Вместо того, чтобы заново изобретать колесо, я пытаюсь использовать его в приложении для Android, загружая его внутривеб-просмотр.
Соответствующие изменения должны изменить слушателей mousedown и up для:
canvas.addEventListener("touchstart", saveDownCoords, false);
canvas.addEventListener("touchend", modifySchematic, false);
, а функция вычисления координат была изменена так:
function mouseCoords(e) {
var cellSize = e.target.getAttribute("data-lib-shelves-cell-size");
var cellRect = e.target.getBoundingClientRect();
return {
//x : Math.floor((e.clientX - cellRect.left) / cellSize),
//y : Math.floor((e.clientY - cellRect.top) / cellSize)
x : Math.floor((e.touches[0].clientX - cellRect.left) / cellSize),
y : Math.floor((e.touches[0].clientY - cellRect.top) / cellSize)
};
}
Ничего не работает вообще, если я не касаюсь нескольких пальцев.Затем он делает то же, что и программа, с помощью мыши, иногда нажимая вниз от первого пальца и вверх второго пальца;иногда вверх и вниз по первому пальцу, но только если использовался второй палец, никогда, когда используется только один палец.
Я не писал сенсорный обработчик ни для веб-просмотра, ни для деятельности, внутри которой он был.проживает.
Кто-нибудь когда-либо сталкивался с таким поведением?