Javascript 带有JS自动选择文本的Opera错误(如果超过1个div)

Javascript 带有JS自动选择文本的Opera错误(如果超过1个div),javascript,html,select,opera,Javascript,Html,Select,Opera,下面是HTML代码。它应该选择“Container”div中的所有文本 问题是,在Opera 12.02中,当单击“选择所有文本”时,所有文本看起来都是选中的,但它并没有被选中(我不能右键单击它并复制) (棒极了,但也很好用) 为什么不去歌剧院?!!! 我该怎么做才能使Opera 12.02相信“Container”中的所有文本都被选中?在JSFIDLE上的12.11中,代码对我来说很好,所以我想您只需要使用更新的Opera版本。我记得旧的歌剧版本有这样的错误 <B onclick="Se

下面是HTML代码。它应该选择“Container”div中的所有文本

问题是,在Opera 12.02中,当单击“选择所有文本”时,所有文本看起来都是选中的,但它并没有被选中(我不能右键单击它并复制)

(棒极了,但也很好用)

为什么不去歌剧院?!!!
我该怎么做才能使Opera 12.02相信“Container”中的所有文本都被选中?

在JSFIDLE上的12.11中,代码对我来说很好,所以我想您只需要使用更新的Opera版本。我记得旧的歌剧版本有这样的错误

<B onclick="SelectText(document.getElementById('Container'));">select all text</B>
<Div id="Container">
<Div>123456</Div>
<Div>123456</Div>
<Div onclick="SelectText();">123456</Div>
</Div>
function SelectText(target){
if(target==null){
var e = window.event || e;
if (!e) var e = window.event;
var target=e.target || e.srcElement;
}

var rng, sel;
if ( document.createRange ) {
rng = document.createRange();
rng.selectNode( target );
sel = window.getSelection();
sel.removeAllRanges();
sel.addRange( rng );
} else {
var rng = document.body.createTextRange();
rng.moveToElementText( target );
rng.select();
    }
}