Bootstrap按钮在移动设备上“卡住”

每当我点击一个带有我的移动设备(android)的按钮在twitter的boostrap按钮上,但按钮得到奇怪的样式,就像鼠标仍然结束,直到我点击另一个元素才释放。 这不是应用于元素的活动类。 这是按钮在单击之前的样子

这是点击通知阴影和背景后按钮的样子

它很微妙,但非常烦人,特别是当我尝试将样式应用到他们不会显示的按钮,直到我点击不同的元素。

尝试在移动设备上访问http://twitter.github.com/bootstrap/base-css.html#buttons并单击一个按钮,你会看到我的意思

我尝试使用jquery触发各种事件但没有任何效果,这是我在我的javascript结束时的片段

$(document).on('tapclick', '.btn', function() { $(this).blur(); $(this).trigger('mouseup'); }); 

并尝试在hover时重写css样式

 .btn a:hover,.btn a:link,.btn a:visited,.btn a:active{ text-decoration: none !important; cursor: default !important; background-color: transparent !important; background-image: none !important; } 

我通过在touchend事件的按钮上添加一个类来修复此问题,然后覆盖默认的bootstrap背景位置。

JavaScript的:

 $("button").on("touchstart", function(){ $(this).removeClass("mobileHoverFix"); }); $("button").on("touchend", function(){ $(this).addClass("mobileHoverFix"); }); 

CSS:

 .mobileHoverFix:hover, .mobileHoverFix.hover{ background-position: 0 0px; } 

如果您只是为移动开发,那么您可以完全覆盖hovercss,例如:

 .btn:hover { background-color: inherit; }