tinymce编辑器的光标位置插入内容时,光标丢失问题解决办法

在使用 Tinymce 编辑器时,遇到在 IE 浏览器下通过 dialog 插入内容会导致原有内容被覆盖的问题。原因是 IE 的光标位置在弹出跨域 dialog 后丢失。解决方案是记录并恢复光标位置,通过 tinymce API 实现。最终通过调整代码,成功在 IE6/7/8 中实现正常插入内容并保持光标位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在上个项目中,碰到这样一个问题:在tinymce编辑器中,想在光标位置插入内容,在弹出的dialog(是跨域的)中选择内容后,点击确定,关闭弹出窗口,将选中的内容信息myHTML插入到编辑器中的记录的光标位置, 我的写法是 :
tinyMCE.execCommand("mceInsertContent", false, myHTML); 
 最后发现火狐FF下是正常的,即在光标地方插入我的内容myHTML,而在IE6/7/8下 ,都会把原来所有的内容都覆盖掉。

 

困扰好几天,发贴提问(http://topic.csdn.net/u/20100812/22/516220a2-9a6a-4820-9ff4-808f75a4dbd9.html)也没人答上,最后还是自己解决了,具体原因和解决办法如下:

 

原因:是由于IE下,在弹出的dialog(是跨域的)中选择内容后,原来的光标位置丢失了,所以导致在插入的时候,找不到原来的光标位置,所以出现以上问题。
解决思路:在弹出窗口前,记录IE的编辑位置,到插入的时候,复位光标位置然后再插入。
解决方法:
 1、 //弹出窗口前,记录IE的编辑光标
  var ieSelectionBookmark;

  if (isIE) {
       ieSelectionBookmar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值