HTML5でスマホにtouchイベントを追加するには
addEventListenerをcanvas要素に追加します。
Webアプリのスマホはcanvasに画像を描画したりtouchイベントを追加したりして作成することができます。
また、スマホの基本的なHTMLは以下です。このJavaScript部分に色々実装していきます。
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0" />
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon" href="./icon.png" />
<meta charset="utf-8" />
<title>タイトル</title>
<script language="JavaScript">
<!--
setTimeout("scrollTo(0,1)", 50);
//-->
</script>
</head>
<body>
<canvas id='canvasId' width='305' height='400'></canvas>
</body>
</html>
真ん中にcanvasが要素があります。このcanvas要素にaddEventListenerを追加します。
以下、追加したソースです。
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0" />
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="apple-touch-icon" href="./icon.png" />
<meta charset="utf-8" />
<title>タイトル</title>
<script language="JavaScript">
<!--
onload = function() {
canvasId.addEventListener('touchstart',method,false);
};
function method(){
alert('touchしました');
}
setTimeout("scrollTo(0,1)", 50);
//-->
</script>
</head>
<body>
<canvas id='canvasId' width='305' height='400'></canvas>
</body>
</html>
これで、
こちらにスマホでアクセスしてください。
画面をtouchすると、アラートが表示されます。PCからアクセスしてもtouchイベント自体がないので何も起こりません。