html - 在 span 上输入会添加幻影背景颜色样式

标签 html css google-chrome

JSFiddle:http://jsfiddle.net/p7ph5vfj/

我的问题是:任何人都可以针对这个 chrome 特定错误提出解决方法吗?我的问题不是字母 X 被突出显示,而是它丢失了 .foo 类,所以我再也找不到它了。如果 .foo 类保持不变或者背景颜色消失,我会很好。我什至不知道如何调试它,因为发生这种情况时不会触发 DOM 断点。

<div contenteditable="true">
    DO NOT REPLACE. <span class="foo">END a b c</span> d START la la
</div>

CSS 看起来像这样:

.foo {
    background-color: #ff0000;
}

在 chrome 上触发 bug 的步骤是:

  • 拿起鼠标,将光标放在“开始”一词旁边

  • 点击并按住选择文本,转到左侧并在单词 END 处完成选择。

  • 选择应完全涵盖以下文本:“END a b c d START”。同样,选择必须从右到左。

  • 在键盘上输入一个新字符,例如“X”

  • 如果 X 以红色突出显示,则您已触发错误。

这个错误特别是 HTML 现在看起来像这样:

<div contenteditable="true">
    DO NOT REPLACE. <span style="background-color: rgb(255, 0, 0);">X</span>&nbsp;la la
</div>

.foo 类去哪儿了?这个背景色样式从哪儿来的?发生这种情况时,不会触发向 div 或 span 添加 DOM 断点。

最佳答案

我知道这不是真正干净的代码,但如果你用另一个 span 包裹你的 span.foo,问题似乎就解决了。

<div contenteditable="true"> DO NOT REPLACE. <span><span class="foo">END a b c</span></span> d START la la </div>

关于html - 在 span 上输入会添加幻影背景颜色样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30723335/

相关文章:

jquery - 如何摆脱围绕整个选项列表的蓝色边框

javascript - 弹出窗口的损坏代码

iframe - 为什么 Google 网上论坛页面无法在 WebKit Iframe 中加载?

javascript - chrome 的网络 worker 设置

php - <br> 存储在 mysql 字段中,但回显时没有换行符

javascript - 如何停止jquery更改单个div上所有div的css

html - jQuery Masonry gutterWidth 和 CSS margin-right 问题

javascript - 页面宽度太窄后垂直对齐响应式 SVG 的最佳方法

html - 保存完整网站 - 背景图片不显示

javascript - 在本地文件系统上的 html 文件中包含 html 文件?