作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最近我不得不在 Opera 中使用 execCommand() 。问题是这样的,当我尝试使用此功能更改背景颜色(或文本颜色)时,一切都按预期工作,但是当我混合多于一种的颜色时,会出现意外的行为。我制作了一个测试页来理解我的意思:
<html><head>
<script type="text/javascript">
function changecolor(color) {
document.execCommand ('ForeColor', false, color);
document.getElementById('source').innerHTML = document.getElementById('content').innerHTML;
}
</script>
</head>
<body>
<button onclick="changecolor('red');">Red</button>
<button onclick="changecolor('blue');">Blue</button>
<div contenteditable="true" id="content">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
<textarea id="source" style="margin-top:100px;width:800px;height:200px;"></textarea>
</body>
(参见 in action on jsfiddle )
所以,尝试用最新版本的 Opera 混合这两种颜色,你就会明白我的意思了。
最佳答案
我所看到的:当选择范围超过一种颜色并以您尝试应用的相同颜色结束时,不会发生任何情况。当它以不同的颜色结束时,一些旧颜色会被删除,但不会应用新颜色。
这听起来类似于 Opera 现有的错误 CORE-24880“execCommand('bold') 应该使选择变为粗体,即使部分选择是粗体的”。我将跟进此错误并尝试使其更接近修复。
关于javascript - Opera 中的 execcomand 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11522571/
最近我不得不在 Opera 中使用 execCommand() 。问题是这样的,当我尝试使用此功能更改背景颜色(或文本颜色)时,一切都按预期工作,但是当我混合多于一种的颜色时,会出现意外的行为。我制作
我是一名优秀的程序员,十分优秀!