我正在制作一个 tinyMce 插件,可以更改突出显示的文本之间的单词/字母间距。我的 fn() 看起来像这样:
function wordsLettersSpace(words, letters) {
var inst = tinyMCE.activeEditor;
var currSelection = $.trim(inst.selection.getSel());
if(currSelection != ""){
var content = "";
content = inst.selection.getContent({
format: 'html'
});
contentReplace = '<span style="word-spacing: '+words+'px; letter-spacing: '+letters+'px;">' + inst.selection.getContent({
format: 'html'
}) + '</span>';
inst.selection.setContent(content.replace(content, contentReplace));
window.alert(content);
}else{
Hyphenator.hyphenate(inst.getBody(), language);
}
tinyMceUpdate();
}
现在我需要在选择开始位置(如果存在)之前找到最近的标签并获取“word-spacing”和“letter-spacing”的样式值。另外我需要摆脱选择的任何内部,但只有标签而不是文本,知道跨度标签可以有不同的样式,所以简单的 str.replace 将不起作用。
我知道有一个内置插件,但我需要在 tinyMce iframe 之外进行,并对其进行自定义。
有什么建议吗?