ここにHTMLコードがあります。「コンテナ」divのすべてのテキストを選択するはずです
<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>
ここに SelectText() 関数の JS コードがあります
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();
}
}
問題は、Opera 12.02 で「すべてのテキストを選択」をクリックすると、すべてのテキストが選択されているように見えますが、選択されていません (右クリックしてコピーすることはできません)。
(素晴らしいですが、IEはそれでうまく動作します)
なぜオペラではないのですか?「コンテナ」内のすべてのテキストが選択されていると Opera 12.02 に認識させるにはどうすればよいですか?