TinyMCE自定义格式:添加和删除特定CSS样式
目前,我正在开发一个使用自定义格式的插件。不幸的是,我不能使用类,因为输出HTML必须使用内联样式 我使用的声明如下:TinyMCE自定义格式:添加和删除特定CSS样式,tinymce,tinymce-plugins,Tinymce,Tinymce Plugins,目前,我正在开发一个使用自定义格式的插件。不幸的是,我不能使用类,因为输出HTML必须使用内联样式 我使用的声明如下: a.formatter.register("dotted", { inline : 'span', styles : { borderStyle : 'dotted', borderWidth : '1px', } }); a.formatter.regi
a.formatter.register("dotted", {
inline : 'span',
styles : {
borderStyle : 'dotted',
borderWidth : '1px',
}
});
a.formatter.register("dashed", {
inline : 'span',
styles : {
borderStyle : 'dashed',
borderWidth : '1px',
}
});
问题一:我想使用相互影响的格式。我的意思是:
用户单击“虚线边框”选项
->如果所选内容已设置边框宽度,请不要触摸。如果未设置,则设置边框宽度:1px;
->无论当前设置的是什么,覆盖边框样式:虚线
用户单击“虚线边框”选项
->如果所选内容已设置边框宽度,请不要触摸。如果未设置,则设置边框宽度:1px;
->无论当前设置的是什么,覆盖边框样式:虚线
用户点击“厚边框”
->如果已设置边框样式,请不要触摸。如果未设置,则设置边框样式:实心;
->无论设置了什么,覆盖边框宽度:3px
如何读取和过滤用于当前选择的当前CSS样式?在我的示例中,a是在单击按钮时传递给函数的编辑器实例。请不要混淆我的问题,因为它不是复制粘贴操作,所以我不能在这里使用该对象
问题二:如何删除这些样式,因为它们可能是不同组合的混合体
目前,我要解决的唯一想法是创建一个包含所有可能值的数组,并循环通过这些值,如
for (var i = 0; i < value.length; i++) {
var cssobj = {
inline : 'span',
styles : {
}
}
eval("cssobj.styles." + cssattr + "= \"" + value[i] + "\"");
a.formatter.register("tempformat", cssobj);
a.formatter.remove("tempformat");
a.formatter.unregister("tempformat");
}
for(变量i=0;i
我发现这是一个非常丑陋的解决方案,也不是很有效
还有其他想法吗