=波波日志 > JavaScript/Ajax > firefox下光标处插入文本=
[转]firefox下光标处插入文本
做可视化编辑的器的时候突然发现一个问题,原来在TEXTAREA里面,FF的做法是:
textObj是文本域对象(节点),下面也一样,是iframe对象。textFeildValue是你要插入的文本.下面是ht.
但selectionStart和selectionEnd只是针对文本和input域的。现在是iframe。所以只能从新找个法子。结果某网友说在FCK里有很好的办法,试了一下,OK:
之前用getRangeAt,因为没有打印出任何东西,所以觉得没用,但看了这段代码,算是明白了!
+展开
-JavaScript
var rangeStart=textObj.selectionStart;
var rangeEnd=textObj.selectionEnd;
var tempStr1=textObj.value.substring(0,rangeStart);
var tempStr2=textObj.value.substring(rangeEnd);
textObj.value=tempStr1+textFeildValue+tempStr2;
textObj.focus();
var len=textFeildValue.length;
textObj.setSelectionRange(rangeStart+len,rangeStart+len);
textObj.blur();
var rangeEnd=textObj.selectionEnd;
var tempStr1=textObj.value.substring(0,rangeStart);
var tempStr2=textObj.value.substring(rangeEnd);
textObj.value=tempStr1+textFeildValue+tempStr2;
textObj.focus();
var len=textFeildValue.length;
textObj.setSelectionRange(rangeStart+len,rangeStart+len);
textObj.blur();
textObj是文本域对象(节点),下面也一样,是iframe对象。textFeildValue是你要插入的文本.下面是ht.
但selectionStart和selectionEnd只是针对文本和input域的。现在是iframe。所以只能从新找个法子。结果某网友说在FCK里有很好的办法,试了一下,OK:
+展开
-JavaScript
var oSel = textObj.getSelection();
var oRange = oSel.getRangeAt(0);
var oFragment = oRange.createContextualFragment(ht) ;
var oLastNode = oFragment.lastChild ;
oRange.insertNode(oFragment) ;
oRange.setEndAfter( oLastNode ) ;
oRange.setStartAfter( oLastNode ) ;
oSel.removeAllRanges() ;
oSel = textObj.getSelection();
oSel.addRange( oRange ) ;
var oRange = oSel.getRangeAt(0);
var oFragment = oRange.createContextualFragment(ht) ;
var oLastNode = oFragment.lastChild ;
oRange.insertNode(oFragment) ;
oRange.setEndAfter( oLastNode ) ;
oRange.setStartAfter( oLastNode ) ;
oSel.removeAllRanges() ;
oSel = textObj.getSelection();
oSel.addRange( oRange ) ;
之前用getRangeAt,因为没有打印出任何东西,所以觉得没用,但看了这段代码,算是明白了!
类别:JavaScript/Ajax 作者:转载 日期:2009-06-17 【评论:0】
相关文章
- ·Firefox Iframe 编辑器光标问题
- ·HTML编辑器失去焦点后在原来光标位置插入信息/图片
- ·setSelectionRange()函数-只支持Firefox浏览器-设置文本框某段文字的光标选中
- ·javascript获取textarea光标选择位置和内容方法(IE, Firefox)
- ·Firefox下的AJAX onreadystatechange问题
- ·FireFox下端口不一致导致跨域
- ·firefox下图片拖动的问题
- ·Firefox下javascript如何操作剪贴板Clipboard
- ·ie和firefox下操作table对象的异同
- ·firefox下js与flash通讯的可恶
- ·firefox下reset控件无法清除hidden控件value
- ·Firefox下浮动布局时空白边叠加问题
暂时没有评论!
发表留言
热门博文
- AJAX跨域问题解决办法
- ajax问题总结
- jQuery dataType指定为json的问题
- ajax+asp.net+mssql无刷新聊天室
- ajax无刷新上传文件,使用iframe模仿
- ajax对象abort方法
最新博文
- jquery+flash显示图片实时加载进度插件
- jquery浮动层拖动插件
- firefox NPMethod called on non-NPObject wrapped JSObject!错误
- IE浏览器setCapture和releaseCapture介绍
- 51.la统计出问题了
- 隐藏删除ckeditor状态栏
随机博文
- 求网页上文本框ctrl+z为什么无效2
- AJAX跨域问题解决办法
- relatedTarget方法的介绍
- jQuery IE6下width(),height()获取document的高和宽不精确
- ajax+php+mssql无刷新聊天室
- WEB程序员必备的Javascript框架
广告商赞助

