Woo*_*ome 3 javascript tinymce cursor-position tinymce-plugins
我正在为tinyMCE制作一个单词预测插件,需要提取一些文本,然后从预测单词列表中插入文本.插入应该没问题,因为我知道光标在哪里并且可以使用该mceInsertContent
命令.获取预测的文本但是......
我需要提取文本的一个子集,该文本以光标位置之前的字母结尾,并从文本的开头开始.如果需要,我可以自己剥离HTML标签,但我更喜欢让tinyMCE尽可能地做.
我想这样做:
mceInsertContent
现在,因为我不熟悉那些对我来说有点挑战的tinyMCE,所以怎么会这样做呢?
代码需要跨浏览器工作.
您可以尝试此代码片段(ed是tinymce编辑器对象)
A.使用mceInsertContent在当前光标位置插入书签
ed.execCommand('mceInsertContent', false,'<span class="marker">\ufeff</span>');
Run Code Online (Sandbox Code Playgroud)
B.创建从文本开头到书签的范围.
var rng = ed.selection.getRng(1);
var rng2 = rng.cloneRange();
// set start of range to begin of forst paragraph
rng2.setStartBefore($(ed.getBody()).find('p:first').get(0));
rng2.setEndBefore($(ed.getBody()).find('span.marker').get(0));
ed.selection.setRng(rng2);
Run Code Online (Sandbox Code Playgroud)
C.获取范围的内容.
// get content of selection (range)
var content = ed.selection.getContent({format: 'text'});
Run Code Online (Sandbox Code Playgroud)
D.删除书签.
$(ed.getBody()).find('span.marker').remove();
Run Code Online (Sandbox Code Playgroud)
更新:如果您担心选择更改,可以重置初始范围
ed.selection.setRng(rng);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7296 次 |
最近记录: |