Ответ 1
Edit: Turned. У EaselJS все еще была ошибка, в которой сенсорный экран показывал выбор. Чтобы решить эту проблему, я добавил свойство CSS на холст после прочтения этой статьи: fooobar.com/questions/403185/...
Исправлено:
-webkit-tap-highlight-color: transparent;
Удалось решить эту проблему с помощью этой статьи: Запретить прокрутку страницы при перетаскивании в IOS и Android
Здесь рабочий код. Исправление заключается в обработке событий touchstart/end для обработки кликов. Больше не испытывайте оранжевую сцену выбора.
Протестировано это как в эмуляторе 2.2, так и в моем устройстве (Samsung Captivate работает с Cyanogenmod ICS)
<!doctype html>
<html>
<head>
<title></title>
</head>
<body>
<canvas id="canvas" width="320" height="480"></canvas>
<script type="text/javascript" src="cordova-1.7.0.js"></script>
<script type="text/javascript">
var canvas = document.getElementById("canvas");
// FIX: Cancel touch end event and handle click via touchstart
document.addEventListener("touchend", function(e) { e.preventDefault(); }, false);
canvas.addEventListener("touchstart", function(e)
{
var ctx = canvas.getContext("2d");
var x = Math.random() * 320;
var y = Math.random() * 480;
var w = Math.random() * 100;
var h = Math.random() * 100;
ctx.fillStyle = "#FF0000";
ctx.fillRect(x,y,w,h);
// FIX: Cancel the event
e.preventDefault();
}, false);
</script>
</body>
</html>