主题: 关于Kindeditor的range |
作者: kunanfo, 发布日期: 2013-01-07 14:59:10, 浏览数: 3028 |
我在使用kindeditor 4.1.3的时候,想获取光标所在位置,但是获取的range参数不正确(如果光标在最后一个位置,则是正确的,如果光标在输入文本的的中间位置,得到的range参数就不正确),请问应该如何获取,以下是我的样例代码:
1、Textarea <form id="form_id"><textarea id="content" name="content" style="width:700px;height:200px;visibility:hidden;">KindEditor</textarea> </form>
2、初始化KindEditor,command是我自定义的一个插件,功能是点击后在光标所在位置插入一个特殊符号"◆" var editor;KindEditor.ready(function(K) { editor = K.create('textarea[name="content"]', { resizeType : 1, allowPreviewEmoticons : false, allowImageUpload : false, items : [ 'command','fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold', 'italic', 'underline', 'removeformat', '|', 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist', 'insertunorderedlist', '|', 'emoticons', 'image', 'link', 'source'] }); $(editor.edit.iframe.get().contentWindow.document.body).keydown(function(event){ if(event.keyCode == 27){ editor.clickToolbar('command'); return false; } else if(event.keyCode == 123){ alert("d"); var allRangeContent = editor.text();//文本框中的文本,含HTML var textRangeContent = allRangeContent;//去除<BR>回车等键后的文本内容 var workRangeContent = textRangeContent.substring(0, editor.cmd.range.startOffset);//截取文本工作区 alert("[" + editor.cmd.range.startOffset + "]" + workRangeContent); var tempStart = workRangeContent.lastIndexOf("◆"); var command = workRangeContent.substring(tempStart).replace("◆",""); alert("POS END:" + editor.cmd.range.startOffset + "\nText:" + allRangeContent + "\ntempStart:" + tempStart + "\nCommand:" +command); return false; } }); });
非常感谢,在搜索帖子,很少有关于这个range的使用,不知道使用方式是否正确。 |
作者: Roddy, 发布日期: 2013-01-07 18:56:35 |
用 editor.insertHtml('abc'); 插入就可以,Range不是字符串能拼接的。
|
回复 |