Blog
It's a Wonderful Life
如何通过代码选中元素的文本
有时,可能有需要做“点击一个元素就选中元素内文本”的效果,可以通过以下代码实现:
function selectText( containerid ) {
var node = document.getElementById( containerid );
if ( document.selection ) {
var range = document.body.createTextRange();
range.moveToElementText( node );
range.select();
} else if ( window.getSelection ) {
var range = document.createRange();
range.selectNodeContents( node );
window.getSelection().removeAllRanges();
window.getSelection().addRange( range );
}
}
或者使用以下更简单的方法:
window.getSelection().selectAllChildren( document.getElementById( id ) );
另外,如果需要对选中的文本效果进行自定义,可以这样做:
* {
user-select: none;
}
pseudoElement::selection {
/* self defined css goes in here */
}
pseudoElement::-mos-selection {
/* otherwise firefox wouldn't apply thoes effect */
}