<HTML>
<head>
<script>
function GetCursorStartPosition(obj)
{
var start = 0;
if (document.selection) // for IE
{
obj.focus();
var sel = document.selection.createRange();
var new_sel = sel.duplicate();
new_sel.moveStart('character', -obj.value.length);
new_sel.setEndPoint("EndToStart", sel);
start = new_sel.text.length;
}
else if(obj.selectionStart)// for Firefox, google, opera, safari
{
start = obj.selectionStart;
}
return start;
}
function GetCursorEndPosition(obj)
{
var end = 0;
if (document.selection) // for IE
{
obj.focus();
var sel = document.selection.createRange();
var new_sel = sel.duplicate();
new_sel.moveStart('character', -obj.value.length);
new_sel.setEndPoint("EndToEnd", sel);
end = new_sel.text.length;
}
else if(obj.selectionEnd)// for Firefox, google, opera, safari
{
end = obj.selectionEnd;
}
return end;
}
</script>
</head>
<html>
<body>
<input class="input" id="textbox" name="textbox" value="Hello,world!" />
<input type="button" GetCursorStartPosition( document.getElementById('textbox') ) )" value="start">
<input type="button" GetCursorEndPosition( document.getElementById('textbox') ) )" value="end">
</body>
</html>
-----------------------------设置光标位置------------------------------
function SetCursorPosition(obj, pos)
{
obj.focus();
if (obj.createTextRange) //for IE
{
var range = obj.createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
else if(obj.setSelectionRange) //for Firefox, google, opera, safari
{
obj.setSelectionRange(pos,pos);
}
}
--------------------------------------------------------------------------------
注:曾尝试用一下方法,但IE浏览器总是提示错误,原因不明。
function GetCursorStartPosition(obj)
{
var start = 0;
if (document.selection) // for IE
{
obj.focus();
var sel = document.selection.createRange();
var new_sel = document.body.createTextRange();
new_sel.moveToElementText(obj);
new_sel.collapse(true);
new_sel.setEndPoint("EndToStart", sel);
start = new_sel.text.length;
}
else if(obj.selectionStart)// for Firefox, google, opera, safari
{
start = obj.selectionStart;
}
return start;
}
转载于:https://blog.51cto.com/tanghuimin0713/1079472