主题: 使用Ajax加载后不能编辑内容
作者: tfd123, 发布日期: 2011-06-28 15:09:45, 浏览数: 3530
操作系统: Windows XP

浏览器: IE6 IE8 chrome 均测试

KindEditor版本: 3.5.5

使用Mootools Ajax加载后编辑器内容区域光标没有了,不能进行编辑操作,但工具按扭可以用,点击工具按扭,内容区域的光标才出现并可编辑。

 

测试文件:

test.htm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<script src="http://mootools.net/demos/Source/mootools-core-1.3-full.js" type="text/javascript"></script> 
<script src="http://mootools.net/demos/Source/mootools-more-1.3-full.js" type="text/javascript"></script> 
<script src="kindeditor.js" type="text/javascript"></script> 
<body>
<script type="text/javascript" >
function show()
{
	new Request.HTML({
	url: 'content.htm',
	evalScripts: true,
	onComplete: function(response){
		$('main').empty().adopt(response);
		KE.show({
			id : 'content_1',
			cssPath : './index.css'
		});
	 }
	}).send();
}
</script> 
<input name="submit" type="button" onClick="show()" value="加载" />
<div id='main'> </div>
</body>
</html>

 

content.htm

 

<form name="infoform" id="infoform" method="post" action="">
<textarea id="content_1" name="content_1" style="width:700px;height:300px;">
测试
</textarea>
</form>

 

BUG再现步骤:
1.浏览test.htm,多点击几次加载,问题就会出现
2.
3.

期望结果:
能正常编辑
作者: Roddy, 发布日期: 2011-06-28 16:48:15

KE.show的原理是先执行KE.init设置一些变量,等DOM全部创建以后才开始执行KE.create创建编辑器。 如果浏览器不触发DOMContentLoaded事件(例如:jQuery的$.ready,点击某个按钮,通过innerHTML插入HTML等),则不能使用KE.show,需要直接调用KE.init和KE.create。

 

KE.init({id : 'editor_id' });

$.ready(function() { KE.create('editor_id'); });

回复
作者: skonline, 发布日期: 2012-05-17 17:42:45

回复Roddy:


请问4.1这个问题要怎么解决?

回复
发表新帖 发表回复