kinEditor动态渲染的问题
摘自:jingyan.baidu.com/article/a65957f4a4c89a24e67f9b3d.html
在使用kindEditor时,因为textarea是动态加载的,因而对textarea的渲染总是不成功,在网上看到了这篇文章,我的问题也解决了,感谢作者,我也收藏下来,以便以后借鉴。
费了“九牛二虎”之力,终于搞定了。
问题经过:
使用dwz前台js框架需要用到kindeditor编辑器,按照kindeditor说明初始化编辑器,
在 IE中没问题。在谷歌浏览器中不加载kindeditor ; 没办法 alert 找错误吧,找到Kindeditor.ready(function(){})的时候 不走了,那就到Kindeditor.js中看看这个 ready 吧, 眼晕了, ready中alert看看吧,发现在谷歌浏览器中死活不走ready中的几个function函数( readyFunc()、 ieReadyFunc()、ieReadyStateFunc()......);
(截图图片,上传不上?why?)
没办法,没时间研究这个了,想个别的招吧;
既然kindeditor的ready不能用了,那就跳过换jquery的吧。
*********************************************
原始的kindeditor初始化时这样的:
KindEditor.ready(function(K){
var editor = K.create(
'#kindeditor',
{
width : "80%", //编辑器的宽度为70%
height : "430px", //编辑器的高度为100px
filterMode : false, //不会过滤HTML代码
resizeMode : 1 ,//编辑器只能调整高度
imageUploadJson : '/kindeditor-4.1.7/jsp/upload_json.jsp',
fileManagerJson : '/kindeditor-4.1.7/jsp/file_manager_json.jsp',
allowUpload : true,
allowFileManager : true,
afterCreate : function() {
var self = this;
K.ctrl(document, 13, function() {
self.sync();
document.forms['example'].submit();
});
K.ctrl(self.edit.doc, 13, function() {
self.sync();
document.forms['example'].submit();
});
},
items : [
'source', '|', 'undo', 'redo', '|', 'preview', 'print', 'code', 'cut', 'copy', 'paste',
'plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright',
'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent', 'subscript',
'superscript', 'clearhtml', 'quickformat', 'selectall', '|', 'fullscreen', '/',
'formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold',
'italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', '|',
'table', 'hr', 'pagebreak',
'anchor', 'link', 'unlink', '|', 'image','multiimage','flash','media','insertfile','editImage'
],
afterBlur: function(){this.sync();},//和DWZ 的 Ajax onsubmit 冲突,提交表单时 编辑器失去焦点执行填充内容
newlineTag : "br"
});
});
**************************************************************
我改,注意加粗、倾斜的地方。
////////////////////////////////////////////////
问题解决:(原来一步到位直接在kindeditor.ready中完成,现在分两步)
封装下kindeditor初始化函数:
function kedit(keid){
alert(1);
var keditor = KindEditor.create(
'#' + keid,
{
width : "80%", //编辑器的宽度为70%
height : "430px", //编辑器的高度为100px
filterMode : false, //不会过滤HTML代码
resizeMode : 1 ,//编辑器只能调整高度
imageUploadJson : '/kindeditor-4.1.7/jsp/upload_json.jsp',
fileManagerJson : '/kindeditor-4.1.7/jsp/file_manager_json.jsp',
allowUpload : true,
allowFileManager : true,
afterCreate : function() {
var self = this;
KindEditor.ctrl(document, 13, function() {
self.sync();
document.forms['example'].submit();
});
KindEditor.ctrl(self.edit.doc, 13, function() {
self.sync();
document.forms['example'].submit();
});
},
items : [
'source', '|', 'undo', 'redo', '|', 'preview', 'print', 'code', 'cut', 'copy', 'paste',
'plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright',
'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent', 'subscript',
'superscript', 'clearhtml', 'quickformat', 'selectall', '|', 'fullscreen', '/',
'formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold',
'italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', '|',
'table', 'hr', 'pagebreak',
'anchor', 'link', 'unlink', '|', 'image','multiimage','flash','media','insertfile','editImage'
],
afterBlur: function(){this.sync();},//和DWZ 的 Ajax onsubmit 冲突,提交表单时 编辑器失去焦点执行填充内容
newlineTag : "br"
});
alert(1);
}
在使用的地方用jquery的ready调用
<SCRIPT type="text/javascript">
$(function (){
alert(1);
kedit("kindeditor");
});
</SCRIPT>
//////////////////////////////////////////////////////////
测试 IE下正常、谷歌也正常了 OK。
个人的一点小经验 希望能帮到有用的朋友。
kinEditor动态渲染的问题的更多相关文章
- Django动态渲染多层菜单
为后续给菜单设置权限管理方便,通过给页面模版菜单动态渲染,通过数据菜单表进行匹配需要渲染的菜单 #Django表结构 class Menus(models.Model): name = models. ...
- iOS给图片添加滤镜&使用openGLES动态渲染图片
给图片增加滤镜有这两种方式: CoreImage / openGLES 下面先说明如何使用CoreImage给图片添加滤镜, 主要为以下步骤: #1.导入CIImage格式的原始图片 #2.创建CIF ...
- 使用MVVM框架时,如何处理在页面动态渲染完之后需要发生的事件呢?
在项目实践过程中,当我们使用如avalon这样的MVVM框架时,通常会发现一直会有个问题. 过往的经验告诉我们,想在页面加载完之后处理些事件我们可以绑定document的ready方法或者使用jque ...
- JS动态修改页面EasyUI datebox不生效、EasyUI动态添加Class、EasyUI动态渲染解析解决方案
这是个小菜在实际工作中遇到的问题,相信很多EasyUI新手很可能也遇到这样的问题,因此小菜觉得有必要拿出来分享一下. 这个问题要从EasyUI的datebox组件说起,小菜用这个组件的时候,发现用$( ...
- vue + element 动态渲染、移除表单并添加验证
博客地址:https://ainyi.com/66 又接到新需求了吧~~ 背景 在一个大表单里,有可能会出现这种需求,用户可以自己操作动态添加.移除表单,更加个性化的效果. 常见于填写个人信息.附加内 ...
- 动态渲染页面爬取-Selenium & Splash
模拟浏览器的动机 JS动态渲染的页面不止Ajax一种 很多网页的Ajax接口含有加密参数,分析其规律的成本过高 通过对浏览器运行方式的模拟,我们将做到:可见即可爬 Python中常用的模拟浏览器运行的 ...
- iview 动态渲染menu时active-name无效的问题
动态渲染menu时,如果需要active-name,那么name只能绑定index,动态渲染的数组初始必须有一个空对象.否则无法使用active-name属性.注:仅限3.0版本,不排除新版本修复的可 ...
- vue使用动态渲染v-model输入框无法输入内容
最近使用ElementUI框架,在动态渲染表单的时候,表单框无法输入内容,但是绑定model的数据是会发生变化 解决方法: 将动态生成的表单对象,深拷贝到 data 对象中 <el-date-p ...
- 当Vue中img的src是动态渲染时不显示问题
最近遇见动态渲染img时,想起了当初刚开始写vue时,曾经遇见的一个小小坑. Vue中:img的src属性是动态渲染时不显示问题1.需求:展示用户头像,数据从后台获取,如果没有拿到则显示默认图片. 如 ...
随机推荐
- Android Fragment RecycleListView
1.新建SuperActivity package com.example.ting.criminalintentpractise; import android.os.Bundle;import a ...
- ubuntu16.04 安装 go
1,下载go安装包wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz 2,解压 sudo tar -C /usr ...
- 一.Windows I/O模型之选择(select)模型
1.选择(select)模型:选择模型:通过一个fd_set集合管理套接字,在满足套接字需求后,通知套接字.让套接字进行工作.避免套接字进入阻塞模式,进行无谓的等待.选择模型的核心的FD_SET集合和 ...
- Win8 Windows Defender default behaviour
Problem Description ********************* Is it possible, to change the default behaviour when findi ...
- java中常用的转义字符
Day02_SHJavaTraing_4-3-2017 Java中允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量. 一.JAVA中常用的转义字符
- 《图解HTTP》摘要
网络基础TCP/IP 使用Cookie进行状态管理 HTTP首部 确保Web安全的HTTPS 1.网络基础TCP/IP 2.使用Cookie进行状态管理:HTTP是无状态协议. 3.HTTP首部 HT ...
- k8s集群启动了上万个容器(一个pod里放上百个容器,起百个pod就模拟出上万个容器)服务器超时,无法操作的解决办法
问题说明: 一个POD里放了百个容器,然后让K8S集群部署上百个POD,得到可运行上万个容器的实验目的. 实验环境:3台DELL裸机服务器,16核+64G,硬盘容量忽略吧,上T了,肯定够. 1.一开始 ...
- 【Tool】 深度学习常用工具
1. caffe 网络结构可视化 http://ethereon.github.io/netscope/quickstart.html 将网络结构复制粘贴到左侧的编辑框,按Shift+Enter就可以 ...
- frp(升级版)教程
注:之前的教程是按照官网文档亲自实践操作汇总而成的,所需的软件也是从官网下载的. 但是有一个问题,若是运行在有公网IP的frps程序被其他人所知道,他们就可以直接在他们电脑上运行frpc客户端, 简而 ...
- python 面向对象 类的内置方法
判断是不是类cls的对象 class A: pass a = A() print(isinstance(a,A)) 判断类sub是不是super的子类 class A: pass class B(A) ...