2013-06-27 65 views
0

工作,我有一個會在點擊圖像上改變圖像的代碼。但是,因爲我使用的是mouseup/mousedown,有沒有辦法讓它在移動瀏覽器中也能正常工作?圖像變化的onclick不是在移動瀏覽器

$(document).ready(function(){ 
    $(".menulink").eq(0).mouseup(function(){ 
     $('#menu1').attr('src', 'http://placehold.it/333/3ef/img/picture2.jpg'); 
    }); 
    $(".menulink").eq(0).mousedown(function(){ 
     $('#menu1').attr('src', 'http://placehold.it/333/fe3/img/picture1.jpg'); 
    }); 
    $(".menulink").eq(1).mouseup(function(){ 
     $('#menu2').attr('src', 'http://placehold.it/333/3ef/img/picture2.jpg'); 
    }); 
    $(".menulink").eq(1).mousedown(function(){ 
     $('#menu2').attr('src', 'http://placehold.it/333/fe3/img/picture1.jpg'); 
    }); 
}); 

這裏是fiddle page

回答

2

是的,你需要使用touchstarttouchend。我也做了這個稍微更有效率,希望你不介意。

$(function(){ 
    var $menulink = $('.menulink'), 
     $menu1 = $('#menu1'), 
     $menu2 = $('#menu2'); 

    function setSrc($menu,$src){ 
     $menu.src = $src; 
    } 

    $menulink.eq(0).on({ 
     'mouseup touchstart':function(){ 
      setSrc($menu1[0],'http://placehold.it/333/3ef/img/picture2.jpg'); 
     }, 
     'mousedown touchend':function(){ 
      setSrc($menu1[0],'http://placehold.it/333/3ef/img/picture1.jpg'); 
     } 
    }); 

    $menulink.eq(1).on({ 
     'mouseup touchstart':function(){ 
      setSrc($menu2[0],'http://placehold.it/333/3ef/img/picture2.jpg'); 
     }, 
     'mousedown touchend':function(){ 
      setSrc($menu2[0],'http://placehold.it/333/3ef/img/picture1.jpg'); 
     } 
    }); 
}); 

這可能會更有效率,如果您不僅僅是這兩個,這將特別有用。

$(function(){ 
    var $menulink = $('.menulink'); 

    for(i=$menulink.length;i--;){ 
     var $menu = $('#menu'+(i+1))[0]; 

     $menulink.eq(i).on({ 
      'mouseup touchstart':function(){ 
       $menu.src = 'http://placehold.it/333/3ef/img/picture2.jpg'; 
      }, 
      'mousedown touchend':function(){ 
       $menu.src = 'http://placehold.it/333/3ef/img/picture1.jpg'; 
      } 
     }); 
    } 
}); 

只是另一個選擇考慮。

+0

感謝您的提示。 :) – jch02140

+0

哈哈的人,我今天檢查了它,並意識到我用逗號而不是冒號。我的提示不會起作用!現在應該是好的。 – PlantTheIdea

0

編輯:不使用click

是的,你用touchstarttouchend

相關問題