touchBased HTML アプリケーションを作成しようとしていて、iPad 2 でテストしていました。ただし、HTML のカスタム属性に問題があるようです。
ここに私のコードがあります
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<script type="text/javascript">
document.addEventListener('mouseup',onTouchReleased, true);
document.addEventListener('touchend',onTouchReleased, true);
function onTouchReleased(e) {
// Capture the event
if(e.preventDefault)
e.preventDefault();
if(e.stopPropagation)
e.stopPropagation();
console.log(e.target);
console.log(e.target.getAttribute("itemindex"));
}
</script>
</head>
<body>
<img itemindex="0" src="video.jpg"/>
<div itemindex="1">HELLO1</div>
<p itemindex="2">HELLO2</p>
</body>
</html>
PC の Chrome/Safari で実行するとitemindex
、アイテムをクリックするとコンソールに正しいものが表示されます。
ただし、iPad2 ではitemindex
of<img>
を取得し0
ます。これは正しいのですが、場合div
によってp
は itemIndex がエラーとして返されます。
TypeError: 式 'e.target.getAttribute' [undefined] の結果は関数ではありません
誰かがこれを説明してください。また、利用可能な回避策について教えてください。