让我们先从代码:内DIV选择文本在Opera的JavaScript
<html>
<head>
<title>Opera bug test</title>
<script type="text/javascript">
function callTest()
{
var oElem=document.getElementById("testDIV");
if (window.getSelection)
{
var oCurSelection=window.getSelection();
var curRange=document.createRange();
curRange.selectNodeContents(oElem);
oCurSelection.removeAllRanges();
oCurSelection.addRange(curRange);
}
}
</script>
</head>
<body>
<a onclick="callTest();" style="text-decoration: underline; cursor: pointer">Select</a>
<div id="testDIV"><span>Text TO Test!!!!</span></div>
</body>
</html>
此代码的工作很好:点击链接 - >按Ctrl + C - > “文本,测试!!!!”在剪贴板中。好!
现在,在前面的代码让做一个微小的变化,行:
<div id="testDIV"><span>Text TO Test!!!!</span></div>
取代有3条线路:
<div id="testDIV">
<span>Text TO Test!!!!</span>
</div>
字面上 - 只需插入HTML代码夫妇 '新线'。全都坏了!点击链接继续选择(可视化)文本,但Ctrl + C不会将其推入剪贴板。此外,即使是视觉选择也是......很奇怪,可以说。例如,在测试1中:点击链接 - >文本选择 - >点击页面上的空白处 - >文本DEselected。这是正常的行为。在测试2中:点击链接 - >文字选择 - >点击页面上的空白处 - >文本保留它的选择高亮!
这是什么?来自Opera的可怕的bug? :)
P.S.我在Windows XP SP3,Opera 11.60(build 1185)中做了实验。
我在Opera上也发现了这样的问题。我认为这只是笨蛋。 – 2011-12-16 09:55:35