我试图做一个基于touchBase的HTML应用程序,并且正在iPad 2上测试它。但是,HTML中的自定义属性似乎存在一些问题。javascript getAttribute()在iPad2上不起作用Safari
这里是我的代码
<!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>
当我在我的电脑上的Chrome/Safari浏览器中运行它,我能看到正确的itemindex
在控制台时,我的项目点击。
但是,iPad2的,我得到的<img>
的itemindex
为0
,这是正确的,但如果div
或p
的的ItemIndex会返回一个错误。
类型错误:表达式“e.target.getAttribute”的结果[未定义]是不是一个函数
有人能解释这个请,也见识一下任何可用的解决方法。
我这样做;-)对不起,我忘了把它放在第一个编辑中,现在我已经添加了该行。 – Tirtha 2012-03-15 11:43:56
您是否尝试将事件附加到特定元素,而不是文档? – antyrat 2012-03-15 11:45:48
我现在做了.'document.getElementById(“divElement”)。addEventListener('mouseup',onTouchReleased,true); (“divElement”)。addEventListener('touchend',onTouchReleased,true); '和'