1. var textSelect = function(o, a, b){
    2. //o是当前对象,例如文本域对象
    3. //a是起始位置,b是终点位置
    4. var a = parseInt(a, 10), b = parseInt(b, 10);
    5. var l = o.value.length;
    6. if(l){
    7. //如果非数值,则表示从起始位置选择到结束位置
    8. if(!a){
    9. a = 0;
    10. }
    11. if(!b){
    12. b = l;
    13. }
    14. //如果值超过长度,则就是当前对象值的长度
    15. if(a > l){
    16. a = l;
    17. }
    18. if(b > l){
    19. b = l;
    20. }
    21. //如果为负值,则与长度值相加
    22. if(a < 0){
    23. a = l + a;
    24. }
    25. if(b < 0){
    26. b = l + b;
    27. }
    28. if(o.createTextRange){//IE浏览器
    29. var range = o.createTextRange();
    30. range.moveStart("character",-l);
    31. range.moveEnd("character",-l);
    32. range.moveStart("character", a);
    33. range.moveEnd("character",b);
    34. range.select();
    35. }else{
    36. o.setSelectionRange(a, b);
    37. o.focus();
    38. }
    39. }
    40. };

    方式二,非input节点

    1. document.getSelection().selectAllChildren(pervDom);