主题: addNewlineEvent引起的反复创建和销毁编辑器<br/>累加的问题
作者: bizbuy, 发布日期: 2010-06-08 05:44:04, 浏览数: 5622

版主你好,

关于在另一个问题中问的“IE8下通过KE.init和create多次创建销毁eidtor引起的newlineTag累加问题

现在初步分析下来,原因可能是这样的。
1)每次创建和销毁时,setFullHtml方法,所调用的addNewlineEvent中的KE.event.add所添加的Event并未被取消,所以每次销毁重建后,就重新KE.event.add了一次,所以每多一交销毁创建,回车时都会多添加出一个<br />;
2)如果把newlineTag设置为p时,不会触发这个,因为为默认的p时,不会触发KE.event.add事件;

 

请问版主这个如何在程序中解决?

谢谢

作者: Roddy, 发布日期: 2010-06-08 09:21:43
嗯,现在确实有这个问题,解决方法是KE.remove时销毁event,下个版本将修复这个问题
回复
作者: bizbuy, 发布日期: 2010-06-08 09:23:30
请问销毁event调用什么方法?谢谢
回复
作者: Roddy, 发布日期: 2010-06-08 09:51:25
执行KE.event.add时先把handler保存下来,用KE.event.remove销毁就可以。
回复
作者: bizbuy, 发布日期: 2010-06-08 11:55:28
执行KE.event.add时先把handler保存下来,用KE.event.remove销毁就可以。

如果这样的话,岂不是要把handler保存为全局变量才行?有没有更好的办法?
回复
作者: Roddy, 发布日期: 2010-06-08 13:18:15
KE.event.add时放在KE.g[id].eventStack里,然后KE.remove时遍历eventStack销毁就可以了。
回复
发表新帖 发表回复