=波波日志 > 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】
暂时没有评论!
发表留言
百度赞助
同类热门博文
- ·AJAX跨域问题解决办..
- ·ajax问题总结
- ·jQuery dataType指定..
- ·ajax+asp.net+mssql..
- ·ajax无刷新上传文件..
- ·ajax对象abort方法
- ·JavaScript代码,变..
- ·fckeditor编辑器在F..
博格Tag
- flash/flex/fcs/AIR(752)
- Asp.Net/C#/WCF(598)
- 操作系统及应用软件(376)
- JavaScript/Ajax(330)
- SQL及数据库(134)
- 黑客技术(115)
- Asp/VBScript(111)
- HTML/WML/CSS兼容/XML(102)
- PHP/apache/Perl(96)
- 网站排名及优化(92)
- 其他(75)
- showbo日志(66)
- lucene.net/分词技术(33)
- 计算机网络(26)
- 机械重工(26)
- C#设计模式(24)
- Google Maps开发(17)
- 日语学习(15)
- Canvas/VML/SVG(13)
- linux(11)
- 游戏开发(8)
- 正则表达式(5)
- Jsp/Java(4)
最新博文
- ·javascript实现html..
- ·Javascript风格要素..
- ·Javascript风格要素
- ·动态加载JavaScript
- ·JavaScript陷阱
- ·ajax技巧
- ·IE对CSS样式表的限制..
- ·什么是Javascript匿..
随机博文
