2014-04-02 39 views
0

我正在製作一個混合應用程序使用jQuery的手機。 我有一個按鈕,它是觸摸啓動時添加類,並在觸摸結束時刪除類。jquery mobile添加/刪除類當按鈕觸摸

所以這是我的JS代碼...

$(document).on('pagebeforeshow', function(){ 
    $(document).on('vmousedown','.icGnb1' ,function(){ 
     $(".icGnb1").addClass('on'); 
    }).on('vmouseup', function(){ 
     $(".icGnb1").removeClass('on'); 
    }).on("vmousecancel", function() { 
     $(".icGnb1").removeClass('on'); 
    }); 

    $(document).on('vmousedown','.icGnb2' ,function(){ 
     $(".icGnb2").addClass('on'); 
    }).on('vmouseup', function(){ 
     $(".icGnb2").removeClass('on'); 
    }).on("vmousecancel", function() { 
     $(".icGnb2").removeClass('on'); 
    }); 

    $(document).on('vmousedown','.icGnb3' ,function(){ 
     $(".icGnb3").addClass('on'); 
    }).on('vmouseup', function(){ 
     $(".icGnb3").removeClass('on'); 
    }).on("vmousecancel", function() { 
     $(".icGnb3").removeClass('on'); 
    }); 

    $(document).on('vmousedown','.icGnb4' ,function(){ 
     $(".icGnb4").addClass('on'); 
    }).on('vmouseup', function(){ 
     $(".icGnb4").removeClass('on'); 
    }).on("vmousecancel", function() { 
     $(".icGnb4").removeClass('on'); 
    }); 


    $(document).on('vmousedown','.icM1' ,function(){ 
     $(".icM1").addClass('on'); 
    }).on('vmouseup', function(){ 
     $(".icM1").removeClass('on'); 
    }).on("vmousecancel", function() { 
     $(".icM1").removeClass('on'); 
    }); 

    $(document).on('vmousedown','.icM2' ,function(){ 
     $(".icM2").addClass('on'); 
    }).on('vmouseup', function(){ 
     $(".icM2").removeClass('on'); 
    }).on("vmousecancel", function() { 
     $(".icM2").removeClass('on'); 
    }); 

    $(document).on('vmousedown','.icM3' ,function(){ 
     $(".icM3").addClass('on'); 
    }).on('vmouseup', function(){ 
     $(".icM3").removeClass('on'); 
    }).on("vmousecancel", function() { 
     $(".icM3").removeClass('on'); 
    }); 
}); 

我必須讓所有的按鈕應該與觸摸事件? 我的意思是......這是正確的方式嗎?

+0

你能不一樣的類分配給每一個按鈕,而不是使用不同類型的?你用作類的東西看起來更像是IDS。 –

回答

0

假設所有的按鈕做同樣的事情,那麼你的代碼應該是:

$(document).on('pagebeforeshow', function(){ 

    $(":button").on('vmousedown', function(){ 
      $("this").addClass('on'); 
     }), on('vmouseup', function(){ 
      $("this").removeClass('on'); 
     }).on("vmousecancel", function() { 
      $("this").removeClass('on'); 
     }); 
    }); 

});