問題第1部分(爲了使這更明顯的,而不是迷失在評論):
「手機瀏覽器」,如觸摸屏輸入控制的瀏覽器顯然不具備鼠標交互事件。相反,他們通常實現觸摸屏特定的類似事件,在你的情況下是ontouchstart()和ontouchend()。
問題2部分:
而不是爲每個圖像發射click事件編程,以顯示所有圖片我會做這樣的事情:
<html>
<head>
<script type="text/javascript">
var images = [{"DomId" : "Swapimage1", "RegSrc" : "image1.jpg", "ClkSrc" : "image2.jpg"},{"DomId" : "Swapimage2", "RegSrc" : "image3.jpg", "ClkSrc" : "image4.jpg"}];
function LoadImages() {
for (var image in images) {
document.getElementById(images[image].DomId).src = images[image].RegSrc;
}
}
function SwapImage(imageObject, imageId, isClicked) {
imageObject.src = isClicked ? images[imageId].ClkSrc : images[imageId].RegSrc;
}
function SwapAllImages(isClicked) {
for (var image in images) {
document.getElementById(images[image].DomId).src = isClicked ? images[image].ClkSrc : images[image].RegSrc;
}
}
</script>
</head>
<body OnLoad="LoadImages()">
<img alt="Click" id="Swapimage1" onmousedown="SwapImage(this, 0, true)" onmouseup="SwapImage(this, 0, false)" ontouchstart="SwapImage(this, 0, true)" ontouchend="SwapImage(this, 0, false)" width="400" height="400" />
<img alt="Click" id="Swapimage2" onmousedown="SwapImage(this, 1, true)" onmouseup="SwapImage(this, 1, false)" ontouchstart="SwapImage(this, 1, true)" ontouchend="SwapImage(this, 1, false)" width="400" height="400" />
<a href="#" id="SwapAllLink" onmousedown="SwapAllImages(true)" onmouseup="SwapAllImages(false)" ontouchstart="SwapAllImages(true)" ontouchend="SwapAllImages(false)">Swap All Images</a>
</body>
</html>
嘗試'
2011-05-23 12:34:14
請定義手機瀏覽器用戶?我們在這裏談論觸摸屏嗎?你有沒有嘗試觸摸和開啓事件? – Till 2011-05-23 12:44:51
是的,我主要關注iOS和Android用戶。我沒有嘗試過那些。我現在會。然而,我也想使用通過鏈接來模擬這個功能來迭代頁面上的所有圖像並揭示「祕密」圖像。 – Frank 2011-05-23 12:50:56