我試圖做一個基於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); '和'