【问题标题】:Bootstrap buttons not de-selecting引导按钮未取消选择
【发布时间】:2014-10-12 21:19:19
【问题描述】:

我正在使用引导程序来设置页面上的按钮样式,在 Chrome 37 中,这些按钮在我单击后不会取消选择。

有问题的按钮很简单:

<button type="button" class="btn btn-primary">Primary</button>

一个完整的例子可以在这里找到link

同样的例子在 Firefox 中也能正常工作。而且我很确定在最近一次更新之前就在 Chrome 中工作。

有没有办法让这个按钮在 Chrome 中正常工作?

编辑:

下面的帖子修复了按钮的样式,但不幸的是没有修复按钮的行为。

如果在单击按钮后有一个动作与 onClick 挂钩,则在按下返回时将重新触发该动作。这不会发生在 Firefox 或旧版本的 chrome 中。 Fiddle example.

【问题讨论】:

  • 请不要使用“bootstrap”标签,使用“twitter-bootstrap”,因为它意味着别的东西

标签: css twitter-bootstrap google-chrome


【解决方案1】:

将此添加到您的 css 中

.btn:focus {
  outline: none;
}

并从

中删除 background-color: #3071a9;border-color: #285e8e;
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #fff;
  /*background-color: #3071a9;
  border-color: #285e8e;*/
}

Fiddle

【讨论】:

  • 这并不能解决问题,当单击按钮时,它会停留在单击位置。它也保持选中状态,这样当您按下返回时,它将运行按钮的操作。如果您在最新版本的 chrome 中查看我的问题中的 jsfiddle 链接,您应该能够看到问题。
  • 我没有看到小提琴?
  • 对不起,代码示例后面有一个链接。又是example
  • 这似乎是朝着正确方向迈出的一步。该按钮不再被选中,但仍然看起来很沮丧。有什么变化?
  • 在我的回答中。我添加了css规则。那是你的问题,所以基本上这个问题得到了回答。
【解决方案2】:

我能够弄清楚。问题在于类的分组。

在您提供的小提琴中,大约在第 95 行,您有这个:

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #fff;
  background-color: #3071a9;
  border-color: #285e8e;
}

如果你将注意力从其他部分中分离出来,它就会开始按你的意愿工作。

.btn-primary:focus {
    color: #fff;
}
.btn-primary:hover,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #fff;
  background-color: #3071a9;
  border-color: #285e8e;
}

这是因为一旦你点击它,它就会进入“聚焦”状态,直到你点击其他地方。由于您的焦点与活动和悬停相同,因此看起来它仍处于“活动”状态。

这是working fiddle

【讨论】:

  • 此更改修复了它的外观,但假设在单击按钮后有一个连接到 onClick 的操作,当按下返回时,该操作将重新触发。这不会发生在 Firefox 或旧版本的 chrome 中。小提琴示例link.
  • 我担心我可能做错了什么,但我似乎无法复制您遇到的问题。我正在运行 Google Chrome 版本 37.0.2062.124。你运行的是什么版本?
猜你喜欢
  • 2013-01-01
  • 1970-01-01
  • 2015-11-22
  • 1970-01-01
  • 2012-02-21
  • 1970-01-01
  • 2020-03-26
  • 1970-01-01
  • 2011-07-17
相关资源
最近更新 更多