Tôi đang thử nghiệm canvas HTML5 và sử dụng Javascript để vẽ cho các thiết bị có hỗ trợ cảm ứng. Trong khi tôi làm việc trong các thiết bị iOS, tôi không thể làm cho nó hoạt động trên Android. Tôi đã thu hẹp nó xuống event.pageX không trả về tọa độ, nhưng thay vì trả về 0 hoặc không xác định (dựa trên Trình duyệt).Không thể nhận tọa độ của các liên lạc trong Javascript trên các thiết bị Android
Tôi đã thử nghiệm trên điện thoại chạy Cyanogen 7.1 trên trình duyệt Opera Mobile và Dolphin, cũng như trên Galaxy Tab 10.1 (Android 3.1) chạy trình duyệt chuẩn.
Tôi đã sửa đổi mã để hiển thị cảnh báo về sự kiện cảm ứng hiển thị tọa độ event.pageX, event.layerX và event.clientX (Tôi biết rằng clientX chỉ hoạt động trên iOS).
canvas.addEventListener('touchstart', function(e) {
if (readyToDraw){
alert("PageX: "+e.pageX+","+e.pageY+"\n LayerX: "+e.layerX+","+e.layerY+"\n + clientX: "+e.clientX+","+e.clientY);
// prevent the browsers default action!
e.preventDefault();
paint = true;
// Get coordinates
var c = getCoords(e);
addClick(c.x, c.y, false);
}
});
Tôi có bản vẽ đầy đủ hoạt động trong iOS nhưng thậm chí không thể yêu cầu Android đăng ký tọa độ, bất kỳ ý tưởng nào?
EDIT CUỐI CÙNG: Tôi đã giải quyết vấn đề, xem câu trả lời được chấp nhận.
Xem [this] (http://stackoverflow.com/questions/6099268/does-html5-support-touch-on-mobile-phones). Nếu bạn vẫn không thể làm cho nó hoạt động, tôi đoán rằng phoneGap sẽ hoạt động. – toto2
Cảm ơn, điều này đã giúp tôi rất nhiều! –
@Stu Đẹp nó hoạt động. Bạn có thể đưa ra câu trả lời từ chỉnh sửa của mình để câu hỏi này để lại tab "câu hỏi chưa được trả lời". :) Cảm ơn! –