初步应用的时候是可以的
后面怎么不行了呢?是这样的:
前提说明:
使用了jquery、easyui、kindeditor,之前是直接在main页面中点击按钮,然后
var editor=KindEditor.create('textarea[id="editor_'+id+'"]', { autoHeightMode : true, items:[ 'undo' //... ] });这个是正常的,代码在document ready中
然后我将代码移动到外部:
function mytest(id){ var editor;//....和上面一样……省略了 }而这个textarea是在easyui的tab add中实现的,在tab add中使用href参数直接调用一个页面,对这个son页面来说,大致如下:
<textarea> </textarea> <script> $(document).ready(function(){ try{ if(typeof(eval(mytest))=="function"){ mytest("<?php echo($id);?>"); } }catch(e){ //alert("not function"); } }); </script>意思就是每个新载入的页面都有不同的id,这个页面载入完成后调用mytest函数,将指定的textarea渲染成kindeditor,在ie7、ie8下都正常,在ff和chrome下面,kindeditor出来了,但是编辑框无法点击(工具可以点击)
看dom除了kindeditor自己的iframe外没有其他的了,现在不知道问题出在什么地方,求解答。
重新进行测试,在main中增加
<textarea id="editor_111111"></textarea>
然后在document ready中增加mytest('111111')
渲染出来的editor的编辑框能获取焦点
先创建编辑器,再移动DOM会有这个问题的,目前还没有解决方案。
正确:先创建DOM(把textarea添加到document),后创建编辑器。
错误:先创建编辑器,后移动DOM。
引用来自“Roddy”的答案
先创建编辑器,再移动DOM会有这个问题的,目前还没有解决方案。
正确:先创建DOM(把textarea添加到document),后创建编辑器。
错误:先创建编辑器,后移动DOM。
我的确是先创建dom,然后再创建编辑器的,准确地说,dom不是js创建的,而是ajaxload出来的,经测试,在load的页面中documentready能正常执行,而创建编辑器(调用主页面的function)就是在这个load页面的documentready中实现的
一直搞不懂……太伤心了……换ue了……