Javascript文本编辑器基本功能

时间:2012-02-13 01:36:26

标签: javascript jquery contenteditable

我正在尝试用Javascript编写我自己的WYSWG文本编辑器,但我正在努力解决看似相当基本的问题。

给出contentEditable区域内的文本选择,例如管道之间的内容'|'这里:

<span class="italic">Some text that |I would want</span> to edit or| select

我可以弄清楚我需要做什么来基本上移动结束范围标记,以便我的选择包含在斜体范围内。但是,我需要考虑大量其他情况,例如,如果我想删除跨度,在已包含开始或结束范围的区域周围添加另一个范围,打开/关闭我周围的其他标记类型的帐户选择等。

是否存在一些可以为我提供此选择/替换逻辑的库?还是我问得太多了?我会更好地使用网上已有的众多编辑器之一吗?

我真的不想使用最后一个选项,因为我发现的大部分都显得非常重,因为我真的只想要一些自定义编辑功能。

1 个答案:

答案 0 :(得分:2)

查看Rangy及其模块 http://code.google.com/p/rangy/ http://code.google.com/p/rangy/#Modules

ContentEditable是一个讨厌的野兽,浏览器之间有很多怪癖。 Rangy试图解决这个问题,但仍然难以解决。我的项目有很多自定义规则,所以我们不得不使用像Rangy这样的低级库。结合jQuery,它非常强大。