Javascript 使用JQM和addClass更改按钮颜色每页仅工作一次

Javascript 使用JQM和addClass更改按钮颜色每页仅工作一次,javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,我正在尝试更改移动应用程序按钮的背景。单击事件似乎太慢,因此我使用了vmousedown。这是有效的,但每页只有一次。我正在这样做 Mousedown $(.headerNavBar).on('vmousedown','.logout',function() { $(this).removeClass('ui-bar-c').addClass('ui-bar-c'); }); Mouse UP $(.headerNavBar).on('vmouseup','.logout',function()

我正在尝试更改移动应用程序按钮的背景。单击事件似乎太慢,因此我使用了vmousedown。这是有效的,但每页只有一次。我正在这样做

Mousedown
$(.headerNavBar).on('vmousedown','.logout',function() {
$(this).removeClass('ui-bar-c').addClass('ui-bar-c');
});
Mouse UP
$(.headerNavBar).on('vmouseup','.logout',function() {
$(this).removeClass('ui-bar-c');
});
$(.headerNavBar).on('tap','.logout',function() {
$(this).removeClass('ui-bar-c');
});
HTML是

<li><a href="#" class="logout" data-icon="back" data-theme="b">Log out</a></li>
  • 该按钮位于JQueryMobile页面内容块中

    如果有更好的方法来改变背景梯度,那也可以


    更新:我刚刚在inspector中注意到类正在被添加和删除,它只是没有在页面上更新。

    使用父元素或文档绑定事件并给出选择器。第二件事,你可以检查你有vmousedown它将是mousedown和vmouseup相同

    鼠标向下移动

    $(document).on('vmousedown','.logout', function() {
       $(this).removeClass('ui-bar-c').addClass('ui-bar-c');
    });
    
    鼠标向上移动

    $(document).on('vmouseup','.logout', function() {
          $(this).removeClass('ui-bar-c');
    });
    

    使用父元素或文档绑定事件并指定选择器。第二件事,你可以检查你有vmousedown它将是mousedown和vmouseup相同

    鼠标向下移动

    $(document).on('vmousedown','.logout', function() {
       $(this).removeClass('ui-bar-c').addClass('ui-bar-c');
    });
    
    鼠标向上移动

    $(document).on('vmouseup','.logout', function() {
          $(this).removeClass('ui-bar-c');
    });
    

    它还不起作用,仍然只改变一次。当我使用Chrome逐步完成它时,vmouseup似乎并没有删除该类。我的方法也是如此。为什么使用vmousedown和vmouseup而不是mousedown和mouseup?这正是JQMobile文档所说的。这是一款移动应用程序。不过我会试试普通的。我添加了我认为是父元素的元素,但现在按钮根本不起作用。它在
    • 哪个是父母?li、ul或div?它还不起作用,仍然只改变一次。当我使用Chrome逐步完成它时,vmouseup似乎并没有删除该类。我的方法也是如此。为什么使用vmousedown和vmouseup而不是mousedown和mouseup?这正是JQMobile文档所说的。这是一款移动应用程序。不过我会试试普通的。我添加了我认为是父元素的元素,但现在按钮根本不起作用。它在
      • 哪个是父母?li、ul或div?您能将
        vmousedown
        更改为
        mousedown
        ?这没有任何区别,什么都没有。我认为这是因为它是一个导航栏,在ui btn处于活动状态时,它会改变配色方案。因此,我只是用我想要的颜色为.header.ui btn创建了一个自定义CSS块,并在单击和响应我的对话框时删除了激活的ui btn,如取消。您可以将
        vmousedown
        更改为
        mousedown
        ?这没有任何区别,什么都没有。我认为这是因为它是一个导航栏,在ui btn处于活动状态时,它会改变配色方案。所以我只是用我想要的颜色为.header.ui btn创建了一个自定义CSS块,并在单击和响应我的对话框时删除了激活的ui btn,如取消。