//需求:表情栏可以隐藏显示,高度只要一点高 function sd_create_editor(params){ // var minHeight; //最小高度 var paramsHeight = params.height; //设定的高度 var id = arguments[1] ? arguments[1] : undefined; var type = arguments[2] ? arguments[2] : ''; var paramsWidth = params.width == undefined ? "100%" : params.width; var editor = params.kindutil.create(params.textarea, { resizeType : 1,minWidth:"1px",width:"94%", height:"33px",// == undefined ? "30px":paramsHeight+"px", minHeight:"33px",// == undefined ? "30px":paramsHeight+"px", width:params.width, /* items:['emoticons','fontname', 'forecolor', 'hilitecolor', 'bold', '|', 'justifyleft', 'justifycenter', 'insertorderedlist','insertunorderedlist', '|', 'formatblock', 'fontsize', '|','indent', 'outdent', '|','imagedirectupload','more'],*/ items : ['code','emoticons','fontname', 'forecolor', 'hilitecolor', 'bold', '|', 'justifyleft', 'justifycenter', 'insertorderedlist','insertunorderedlist', '|', 'formatblock', 'fontsize', '|','indent', 'outdent', '|','imagedirectupload','table', 'media', 'preview',"more" ], afterChange:function(){//按键事件 var edit = this.edit; var body = edit.doc.body; edit.iframe.height(paramsHeight); this.resize(null, Math.max((params.kindutil.IE ? body.scrollHeight : (params.kindutil.GECKO ? body.offsetHeight+26:body.offsetHeight+7)) , paramsHeight)); }, afterBlur:function(){ //params.toolbar_container.hide(); params.textarea.blur(); sd_check_editor_form_field({content:this,contentmsg:params.contentmsg,textarea:params.textarea}); if(this.isEmpty()) { this.edit.html("我要回复"); } //params.toolbar_container.hide(); $('#reply_image_' + id).addClass('imageFuzzy'); if(/^\s*<\w*\s*\w*\=\"\w*\"\s*\w*\=\"\w*\:\s*\#\d*\;\s*\w*\-\w*\:\s*\w*\;\"\>[\u4e00-\u9fa5]*<\/\w*\>\s*$/.test(this.edit.html())){ params.submit_btn.hide(); params.toolbar_container.hide(); this.resize("100%", null); }else if(this.edit.html().trim() != ""){ params.submit_btn.show(); params.toolbar_container.show(); } //params.submit_btn.css("display","none"); }, afterFocus: function(){ var edit = this.edit; var body = edit.doc.body; if(/^\s*<\w*\s*\w*\=\"\w*\"\s*\w*\=\"\w*\:\s*\#\d*\;\s*\w*\-\w*\:\s*\w*\;\"\>[\u4e00-\u9fa5]*<\/\w*\>\s*$/.test(edit.html())){ edit.html(''); } params.submit_btn.show(); params.contentmsg.hide(); params.toolbar_container.show(); // params.toolbar_container.show(); $('#reply_image_' + id).removeClass('imageFuzzy'); //edit.iframe.width(paramsWidth); this.resize("100%", null); this.resize(paramsWidth, null); //params.submit_btn.show(); }, afterCreate:function(){ //params.submit_btn.hide(); var toolbar = $("div[class='ke-toolbar']",params.div_form); toolbar.css('display','inline'); toolbar.css('padding',0); $(".ke-outline>.ke-toolbar-icon",toolbar).append('表情'); params.toolbar_container.append(toolbar); params.toolbar_container.hide(); params.submit_btn.hide(); //init var edit = this.edit; var body = edit.doc.body; edit.iframe[0].scroll = 'no'; body.style.overflowY = 'hidden'; //reset height paramsHeight = paramsHeight == undefined ? params.kindutil.removeUnit(this.height) : paramsHeight; edit.iframe.height(paramsHeight); edit.html("我要回复"); this.resize(null,paramsHeight);// Math.max((params.kindutil.IE ? body.scrollHeight : body.offsetHeight)+ paramsHeight , paramsHeight) // params.toolbar_container.hide(); if(typeof enableAt === 'function'){ enableAt(this, id, type); } } }).loadPlugin('paste'); return editor; } function sd_create_shixun_editor(params){ // var minHeight; //最小高度 var paramsHeight = params.height; //设定的高度 var id = arguments[1] ? arguments[1] : undefined; var type = arguments[2] ? arguments[2] : ''; var paramsWidth = params.width == undefined ? "100%" : params.width; var editor = params.kindutil.create(params.textarea, { resizeType : 1,minWidth:"1px",width:"94%", height:"33px",// == undefined ? "30px":paramsHeight+"px", minHeight:"33px",// == undefined ? "30px":paramsHeight+"px", width:params.width, /* items:['emoticons','fontname', 'forecolor', 'hilitecolor', 'bold', '|', 'justifyleft', 'justifycenter', 'insertorderedlist','insertunorderedlist', '|', 'formatblock', 'fontsize', '|','indent', 'outdent', '|','imagedirectupload','more'],*/ items : ['imagedirectupload'], afterChange:function(){//按键事件 if(this.isEmpty() || this.edit.doc.body.innerText == '说点什么') { $('#mini_comment_section').height('auto') } else { var edit = this.edit; var body = edit.doc.body; var newHeight = 0; var FF = !(window.mozInnerScreenX == null); if (FF) { // 火狐下处理方式不一样 newHeight = $(body).height() } else { $(body).children().each(function(){newHeight+=$(this).height()}); } // var newHeight = $(body).height() var maxHeight = 357 // $(window).height() - 150 - 57; // 150 上部距离 57 下部距离 newHeight = newHeight <= maxHeight ? newHeight : maxHeight if (newHeight > 150) { if (FF) { // 火狐下处理方式不一样 this.resize("100%", (newHeight + 20) + 'px'); } else { this.resize("100%", newHeight + 'px'); } $('#mini_comment_section').height(newHeight+57) } else { this.resize("100%", '150px'); $('#mini_comment_section').height('auto') } } //edit.iframe.height(paramsHeight); //this.resize(null, Math.max((params.kindutil.IE ? body.scrollHeight : (params.kindutil.GECKO ? body.offsetHeight+26:body.offsetHeight+7)) , 15)); }, afterBlur:function(){ //params.toolbar_container.hide(); params.textarea.blur(); sd_check_editor_form_field({content:this,contentmsg:params.contentmsg,textarea:params.textarea}); if(this.isEmpty()) { $('#mini_comment_section').height('auto') this.edit.html("说点什么"); params.submit_btn.hide(); params.toolbar_container.hide(); this.resize("100%", "30px"); $("#dis_reply_id").val(""); if($("#editor_panel").length>0){ $("#editor_panel").attr("style","margin-top:9px;flex: 1;"); $("#editor_panel").parents("form").addClass("df") } } //params.toolbar_container.hide(); /*$('#reply_image_' + id).addClass('imageFuzzy'); if(/^\s*<\w*\s*\w*\=\"\w*\"\s*\w*\=\"\w*\:\s*\#\d*\;\s*\w*\-\w*\:\s*\w*\;\"\>[\u4e00-\u9fa5]*<\/\w*\>\s*$/.test(this.edit.html())){ params.submit_btn.hide(); params.toolbar_container.hide(); this.resize("100%", "30px"); }else if(this.edit.html().trim() != ""){ params.submit_btn.show(); params.toolbar_container.show(); }*/ //params.submit_btn.css("display","none"); // $('#mini_comment_section').height('auto') }, afterFocus: function(){ var edit = this.edit; var body = edit.doc.body; if(/^\s*<\w*\s*\w*\=\"\w*\"\s*\w*\=\"\w*\:\s*\#\d*\;\s*\w*\-\w*\:\s*\w*\;\"\>[\u4e00-\u9fa5]*<\/\w*\>\s*$/.test(edit.html())){ edit.html(""); } params.submit_btn.show(); params.contentmsg.hide(); params.toolbar_container.show(); // params.toolbar_container.show(); $('#reply_image_' + id).removeClass('imageFuzzy'); //edit.iframe.width(paramsWidth); var newHeight = $(body).height() if (newHeight < 150) { this.resize("100%", "150px"); this.resize(paramsWidth, "150px"); } if($("#editor_panel").length>0){ $("#editor_panel").attr("style","width:100%;margin-top:9px;"); $("#editor_panel").parents("form").removeClass("df") } //params.submit_btn.show(); // $('#mini_comment_section').height('244px') }, afterCreate:function(){ //params.submit_btn.hide(); var toolbar = $("div[class='ke-toolbar']",params.div_form); toolbar.css('display','inline'); toolbar.css('padding',0); $(".ke-outline>.ke-toolbar-icon",toolbar).append('表情'); params.toolbar_container.append(toolbar); params.toolbar_container.hide(); params.submit_btn.hide(); //init var edit = this.edit; var body = edit.doc.body; edit.iframe[0].scroll = 'no'; // body.style.overflowY = 'hidden'; body.style['padding-top']= '2px'; body.style['padding-left']= '5px'; // //reset height paramsHeight = paramsHeight == undefined ? params.kindutil.removeUnit(this.height) : paramsHeight; edit.iframe.height(paramsHeight); edit.html("说点什么"); this.resize(null,paramsHeight);// Math.max((params.kindutil.IE ? body.scrollHeight : body.offsetHeight)+ paramsHeight , paramsHeight) // params.toolbar_container.hide(); if(typeof enableAt === 'function'){ enableAt(this, id, type); } var iframe = edit.iframe[0] $(iframe.contentDocument.head).append( $("")); } }).loadPlugin('paste'); return editor; } function sd_check_editor_form_field(params){ var result=true; if(params.content!=undefined){ if(params.content.isEmpty()){ result=false; } if(params.content.html()!=params.textarea.html() || params.issubmit==true){ params.textarea.html(params.content.html()); params.content.sync(); if(params.content.isEmpty() || /^\s*<\w*\s*\w*\=\"\w*\"\s*\w*\=\"\w*\:\s*\#\d*\;\s*\w*\-\w*\:\s*\w*\;\"\>[\u4e00-\u9fa5]*<\/\w*\>\s*$/.test(params.textarea.html())){ params.contentmsg.html('内容不能为空'); params.contentmsg.css({color:'#ff0000'}); }else{ params.contentmsg.html('填写正确'); params.contentmsg.css({color:'#008000'}); } params.contentmsg.show(); } } return result; } function sd_create_form(params){ params.form.submit(function(){ var flag = false; if(params.form.attr('data-remote') != undefined ){ flag = true } var is_checked = sd_check_editor_form_field({ issubmit:true, content:params.editor, contentmsg:params.contentmsg, textarea:params.textarea }); if(is_checked){ if(flag){ return true; }else{ $(this)[0].submit(); return false; } } return false; }); } function sd_reset_editor_form(params){ params.form[0].reset(); params.textarea.empty(); if(params.editor != undefined){ params.editor.html(params.textarea.html()); } params.contentmsg.hide(); } //第二个参数是高度,可以传,可以不传 function sd_create_editor_from_data(id){ var height = arguments[1] ? arguments[1] : undefined; var width = arguments[2] ? arguments[2] : undefined; var type = arguments[3] ? arguments[3] : undefined; // KindEditor.ready(function (K) { // react 环境不需要ready方法,页面已经加载完了才执行sd_create_editor_from_data var K = KindEditor; $("div[nhname='new_message_" + id + "']").each(function () { var params = {}; params.kindutil = K; params.div_form = $(this); params.form = $("form", params.div_form); if (params.form == undefined || params.form.length == 0) { return; } params.textarea = $("textarea[nhname='new_message_textarea_" + id + "']", params.div_form); params.contentmsg = $("span[nhname='contentmsg_" + id + "']", params.div_form); params.toolbar_container = $("div[nhname='toolbar_container_" + id + "']", params.div_form); params.cancel_btn = $("#new_message_cancel_btn_" + id); params.submit_btn = $("#new_message_submit_btn_" + id); params.height = height; params.width = width; if (params.textarea.data('init') == undefined) { params.editor = sd_create_editor(params,id, type); sd_create_form(params); params.cancel_btn.click(function () { sd_reset_editor_form(params); }); params.submit_btn.click(function () { var tContents = $("#comment_news_" + id).val(); if(tContents != undefined){ var beforeImage = tContents.split(""); if(beforeImage[0] == "" && afterImage[1] == ""){ notice_box('不支持纯图片评论
请在评论中增加文字信息'); return; } if (tContents.startsWith('<') && tContents.endsWith('>') && (tContents.indexOf('"); if(beforeImage[0] == "" && afterImage[1] == ""){ notice_box('不支持纯图片评论
请在评论中增加文字信息'); return; } } params.form.submit(); }); params.textarea.focus(function (){ params.editor.focus(); }); params.textarea.data('init', 1); $(this).show(); } }); // }); div_form = $("div[nhname='new_message_" + id + "']"); $(".ke-edit", div_form).css("height","33px"); $(".ke-edit-iframe",div_form).css("height","33px"); }