12345 发表于 2008-12-30 11:14:49

获取滚动文本框TextArea焦点位置信息

//==============================
//功能: 获取滚动文本框焦点所在位置信息
//输入参数:
// _mOffset滚动文本框对象
//返回值:
// OffsetObject位置信息对象
//length   焦点位置长度
//leftValue滚动文本框从开始到焦点所在位置的文本值
//rightValue滚动文本框从焦点位置到结束的文本值
//scrollTop   滚动框位置
//更新记录:
// 2007-03-16jiandeh实现获取焦点位置信息基本功能
//
//===============================
function getOffsetPointer(_mOffset){
var OffsetObject = new Object();

var _allText = _mOffset.value;       //输入框的所有值
_mOffset.focus();          //输入框获得焦点
var s = _mOffset.scrollTop;      //获得滚动条的位置
var _rOffset = document.selection.createRange();//创建文档选择对象
var _tOffset = _mOffset.createTextRange();    //创建输入框文本对象
_tOffset.collapse(true);      //将光标移到头
_tOffset.select();          //显示光标
var _nOffset = document.selection.createRange();//为新的光标位置创建文档选择对象
_rOffset.setEndPoint("StartToStart", _nOffset);   //在以前的文档选择对象和新的对象之间创建对象
var _leftText = _rOffset.text;       //获得文档选择对象的文本(从鼠标焦点到文档开头的文本)
var leftPos = _leftText.length;       //文档开头到鼠标焦点的文本长度
var _rightText = _allText.substring(leftPos);   //获取鼠标焦点到文档结束的文本

OffsetObject.length = leftPos;
OffsetObject.scrollTop = s;
OffsetObject.leftValue = _leftText;
OffsetObject.rightValue = _rightText;

return OffsetObject;
}
页: [1]
查看完整版本: 获取滚动文本框TextArea焦点位置信息