当按钮触摸时,jquery mobile添加/删除类

时间:2014-04-02 00:52:52

标签: jquery-mobile

我正在使用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');
     }); 
});

我是否必须将所有按钮都设为触摸事件? 我的意思是......这是正确的方式吗?

1 个答案:

答案 0 :(得分:0)

假设您的所有按钮都做同样的事情,那么您的代码应该是:

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

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

});