如何将可contentitablediv中的选定文本折叠到选择的开始,而不是整个div?
对于除IE <= 8以外的所有主流浏览器,无论选择的方向如何,都可以使用collapseToStart()
方法将选择折叠到文档顺序中最早的点:
window.getSelection().collapseToStart();
在IE <= 8中,使用以下代码,相当于上面的第一个示例:
var sel = document.selection;
if (sel.type == "Text") {
var range = sel.createRange();
range.collapse(true);
range.select();
}
最后,把这些放在一起,形成一个跨浏览器的函数:
function collapseSelectionToStart() {
var sel, range;
if (window.getSelection) {
window.getSelection().collapseToStart();
} else if ( (sel = document.selection) && sel.type == "Text") {
range = sel.createRange();
range.collapse(true);
range.select();
}
}
现场演示:http://jsfiddle.net/yQS9G/2/