Kindeditor创建后如何隐藏文本框,尝试了很久,求帮帮忙

廖嘉炜 发布于 2013/10/10 18:07
阅读 2K+
收藏 0

kindeditor创建编辑框是通过创建一个包含iframe的新div并隐藏原textarea来实现的,然而该div只继承原编辑框的宽高,并没有继承id,官方文档中提供的node中的方法和kindeditor.instances我都试过了,都只能获取原textarea的document,就算我想修改原编辑框再将之与新编辑框同步,sync()也只能是将新区域的内容单向同步到原编辑框,即kindeditor创建的那个编辑框的样式仍然没法改变,而官方既没有提供显隐编辑框的方法也没有提供对编辑框的操作方法,说的有点乱,其实说到底,我只是想隐藏和显示编辑框而已,就像document.getElementById(want2).style.display="none"这样,请问各位有什么解决办法呢?(如果是引入css的话只能引入css文件,并且是在创建的时候,之后也没法动态更改)

补充说明:为了使表述更清楚我还是截图吧,图中可以清楚看到,kindeditor.create(...)出来的编辑框是一个主div包含代表文本、工具、状态栏的三个div,并将我原本创建的textarea的display设置为none隐藏掉,可是,这里我原本的textarea有id为editor_id,可是新创建的区域并没有继承那个id,只有width是继承了,这样我就算通过$('editor_id')来获取元素也是原本的textarea,我没办法操作新的div,这样应该说清楚了吧,请问有没有人能帮帮我呢,应该是改kindeditor文件吧,毕竟width都能继承,可是我不太会改

加载中
0
Roddy
Roddy
$('.ke-contaner').hide();
廖嘉炜
廖嘉炜
是我没说清楚,因为我创建了多个编辑框,所以想只显示一个,隐藏其他的,你这样会将所有的都隐藏掉啊
0
Roddy
Roddy
用jQeury选择元素啊,能找到对应的div就行。
$('#want2').prev().show();
廖嘉炜
廖嘉炜
@Roddy:哦,原来如此,我没细看jquery的所有方法,之前不知道prev()这个方法,我会试试看的,谢谢帮忙
Roddy
Roddy
回复 @廖嘉炜 : 就是先找到id为1的textarea,然后这个textarea之前的元素(textarea.prev())就是编辑器的div。
廖嘉炜
廖嘉炜
问题就是拿不到id啊,比如对id为1的textarea进行k.create()生成的是是<div class="ke-container ke-container-default" style="width: 675px;">...</div>没有继承id=1啊,我怎么获取呢,现在我就是想给那个div加上原本的id,有没有办法呢,改kindeditorjs文件也没问题啊
0
红星xx
红星xx
建议楼主 增强下 表述
廖嘉炜
廖嘉炜
已改
0
廖嘉炜
廖嘉炜
已解决,方法和继承width一样,幸好插件变量命名得清晰,也谢谢robby的帮忙
0
Clelsea
Clelsea
楼主问题解决了么? 请问怎么隐藏掉kindeditor。试了很多方法都没有。
Clelsea
Clelsea
回复 @廖嘉炜 : 谢谢,辛苦了!
廖嘉炜
廖嘉炜
js中创建时editor = K.create('#'+id,{ id : id, width : '675px', height : height, filterMode : false, }); 原理是自己给你要创建的对话框赋予id,有id就好办了,用jq获取元素就好
廖嘉炜
廖嘉炜
我是改了一下kindeditor.js文件,具体加了什么我不记得了,我把我的上传了http://pan.baidu.com/s/1gdoSTA7,你下载之后在js中 创建kindeditor对话框就可以传入id,我在kindeditorjs文件的4929行将传入的id变成id+'m'的形式,你可以按你的需要改
返回顶部
顶部