在IE浏览器下使用的是createTextRange,而Firefox/chrome等现代浏览器下使用的是setSelectionRange。假设文本域对象的名称是obj,则在IE及非IE浏览器下实现指定文字选中的代码如下:IE浏览器下:var range = obj.createTextRange(); 
range.moveStart("character", 开始序号); 
range.moveEnd("character", 结束序号); 
range.select(); 非IE浏览器下: 
obj.setSelectionRange(开始序号, 结束序号); 
obj.focus(); 请问如何在非IE浏览器中获取类似var range = obj.createTextRange(); 的属性?

解决方案 »

  1.   

    用selectionStart和selectionEnd属性<input type="text" value="01234556" id="t" /><script type="text/javascript">
        function selectWords(start, end) {
            if (t.createTextRange) {
                var range = t.createTextRange();
                range.moveStart("character", start);
                range.moveEnd("character", start - end - 1);
                range.select();
            }
            else {
                t.selectionStart = start;
                t.selectionEnd = end;
            }
        }
        selectWords(0, 4);
    </script>
      

  2.   

    拿到selectionStart和selectionEnd属性这两个值有什么用呢?
    我想在非IE得浏览器中得到类似var range = obj.createTextRange()的值,请问该怎么做?
      

  3.   


    拿到selectionStart和selectionEnd属性这两个值有什么用呢?
    我想在非IE得浏览器中得到类似var range = obj.createTextRange()的值,请问该怎么做? 
      

  4.   


    拿到selectionStart和selectionEnd属性这两个值有什么用呢?
    我想在非IE得浏览器中得到类似var range = obj.createTextRange()的值,请问该怎么做? 
    非ie浏览器没有textrange,只有range对象==》Range对象中文API