富文本编辑器的一些要点

重新复习了富文本编辑器的基本实现,现总结下要点:

  1,iframe的创建,之所以使用iframe框架,是为了防止编辑的内容影响当前文档。

  2,隐藏的textarea保存iframe的源码

  3,ie下的兼容性,为了保存ie的选中范围,需要借助于textRange.getBookmark(),以及ie特有的onbeforedeactivate和onactivate

  事件。onbeforedeactivate事件触发条件:焦点从当前活动对象转移到同一个document的另一个对象时触发,它和onblur的区别在于,

  onblur先触发relatedElement的onfocus,然后在触发自身的onblur。而对于onbeforedeactivate是先触发该事件,如果返回true,则

  继续触发另一个元素的onfocus,如果返回false,则不执行。

  4,对于ie,在执行execCommand之前先让contentWindow获取焦点irf.contentWindow.focus()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程微刊

前端程序员表白神器

44120
来自专栏企鹅号快讯

前端性能优化——桌面浏览器前端优化策略

作者:ouven https://my.oschina.net/zhangstephen/blog/1601382 摘要: 前端性能优化是一个很宽泛的概念,本书...

25760
来自专栏从零开始学自动化测试

Appium+python自动化19-iOS模拟器(iOS Simulator)安装自家APP

前言 做过iOS上app测试的小伙伴应该都知道,普通用户安装app都是从appstore下载安装,安装测试版本的app,一般就是开发给的二维码扫码安装, 或者开...

42530
来自专栏KaliArch

搭建高可用MongoDB集群(分片)

MongoDB基础请参考:http://blog.51cto.com/kaliarch/2044423

488120
来自专栏JavaEdge

前端基础实战(MBP 环境)node.jssublimechrome代理神器npm

29240
来自专栏Jerry的SAP技术分享

微信小程序开发系列七:微信小程序的页面跳转

这个系列教程的前六篇文章我们都在单个的视图上操作。现在让我们创建第二个视图,然后实现从第一个视图到第二个视图的跳转。

25120
来自专栏技术博文

sublime Text3

sublime Text3实用功能和常用快捷键 PS:ST3在Mac OX与Windows不同平台下的快捷键差别很大。下面是针对windows平台的解说。 1....

325110
来自专栏web前端教室

《vue+vant+node+mongoDB+koa2》电商项目实战连载(5)

喔~~~,原来是这样,其实还是一些封装好的自定义组件。把上面的代码直接复制到vue的template中,

10820
来自专栏九彩拼盘的叨叨叨

学习前端 第6周 第5天

7920
来自专栏ccylovehs

JavaScript实现iphone时钟

http://www.w3school.com.cn/tags/html_ref_canvas.asp

21230

扫码关注云+社区

领取腾讯云代金券