【发布时间】:2026-02-03 10:05:04
【问题描述】:
看看这个:
var iconIndex = 0;
var icons = ['check', 'chain-broken', 'flag-o', 'ban', 'bell-o'];
$('button:eq(0)').click(function() {
iconIndex = (iconIndex + 1) % icons.length;
$('#dev-0 .status-icon').attr('class', 'status-icon fa fa-fw fa-' + icons[iconIndex]);
});
ul {
width: 200px;
border: 1px dotted #ccc;
}
.device-list-item {
max-height: 31px;
overflow: hidden;
word-break: break-all;
}
a {
position: relative;
display: block;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/css/tether.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.5/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.5/css/bootstrap.min.css" rel="stylesheet" />
<ul class="nav">
<li id="dev-0">
<a href="#" class="device-list-item">
<span>
<i class="status-icon fa fa-fw fa-bell-o"></i>
<span>Firstwordhere Secondwordhere</span>
</span>
</a>
</li>
</ul>
<button>Click me</button>
(嗯,显然,在你点击按钮之前,关于 Snippets 功能的某些东西实际上已经触发了这个。你可以see it on JSFiddle though)
点击按钮应该只是循环浏览图标,但仅在 Firefox 中†它也会删除“第二个单词”。事实证明,自动换行正在发生变化,将第二个单词放到 [invisible] 第二行。如果我关闭 word-break: break-all 属性然后再打开,使用调试器,初始状态被回收。
这是什么原因造成的?糟糕的 HTML/样式,还是 Firefox 错误?
我怎样才能通过最少的更改来解决它?
† 在 Firefox 50.1.0、51.0.1 中损坏;在 Chrome 55 和 IE 11(所有 Windows 7)中工作。
【问题讨论】:
-
@MuhammadUsman:真的吗?您一直在框中看到 "Firstwordhere Secondw" 吗?
-
我不知道是什么导致了 FF 中的这个问题。但我做了一些 css 更改,并认为现在看起来还可以-jsfiddle.net/bndmhn5t/4
-
@JinuKurian:现在这是一些黑暗艺术
-
@LightnessRacesinOrbit 我肯定会将此归类为错误。你应该在bugzilla.mozilla.org 报告它
-
@GabyakaG.Petrioli:仅供参考,我想我已经证实了这一点。 (见下文)
标签: javascript jquery html css firefox