主题: 如何在编辑器中实现类Word的修订功能
作者: itzcn, 发布日期: 2010-07-19 13:05:20, 浏览数: 6225

一直使用的是KE,所以不想再考虑其他编辑器了。

是这样的,最近一个项目有这样需求,实现像Word一样的修订功能。就是在KE中显示了一段内容,在删除时通过程序将选中的文字加删除线。

本人对JavaScript有一点了解,试了很久没找到办法。请教各位高手如何实现,最好有示例代码。

效果类似下面的:

 

KindEditor 3.5.1 发布

本次更新只包含bugfix,使用3.5版本的同学们建议升级一下
3.5.x系列将是3.x系列的最终版本,以后3.x系列除了修改重大BUG之外不会增加任何功能,请大家放心使用。
修改过的文件:

作者: Roddy, 发布日期: 2010-07-19 13:12:14
可以用demo-17的方式,用一个span标签是可以的,但3.5版本不支持同时wrap 1一个以上标签,4.0将支持任何形式的wrap。
回复
作者: itzcn, 发布日期: 2010-07-19 14:43:42

谢谢楼上的回答,demo-17.html我也已经看过了。可能是我没有说清楚,是指:当我们在KE中选中一些文字,按下删除键时,这些文字仍然显示在KE中,只是被使用“删除线”样式,标识已删除。

 

1)不知道如何在KE中添加监听事件,监听键盘的输入操作。

2)另一个,如果判断按下的是删除键,而其他键时无效。

3)对选中的内容应用“删除线”样式。

 

希望能够得到更多的答复。

回复
作者: Roddy, 发布日期: 2010-07-19 16:29:52
你看一下demo-17的最后一个按钮,为了更好理解,我新加了你要求的属性。

http://www.kindsoft.net/ke/examples/demo-17.html

var cmd = new KE.cmd(id);
cmd.wrap('span', [{'.background-color': '#e53333', '.text-decoration': 'line-through'}]);

回复
作者: itzcn, 发布日期: 2010-07-19 18:41:30

好吧,我自己研究。

回复
作者: Roddy, 发布日期: 2010-07-19 18:55:30

我看你还没理解,那代码来了,直接加到kindeditor.js的最后。

KE.plugin.removeformat = {
	click : function(id) {
		KE.util.selection(id);
		var cmd = new KE.cmd(id);
		cmd.wrap('span', [{'.background-color': '#e53333', '.text-decoration': 'line-through'}]);
		KE.util.execOnchangeHandler(id);
		KE.toolbar.updateState(id);
		KE.util.focus(id);
	}
};

回复
发表新帖 发表回复