讓我們先從代碼:內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