使用JQM和addClass更改按钮颜色仅适用于每页一次

时间:2012-10-31 14:55:15

标签: javascript jquery jquery-mobile

我正在尝试更改移动应用按钮的背景。 Click事件似乎太慢了,所以我使用了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页面内容块中。

如果有更好的方法来改变背景渐变,那也很好。

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

2 个答案:

答案 0 :(得分:1)

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

<强> MOUSEDOWN

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

鼠标向上

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

答案 1 :(得分:0)

$('body').delegate('.logout','vmousedown', function() {
   $(this).removeClass('ui-bar-c').addClass('ui-bar-c');
});