您好我正在使用NicEditor,我希望字体大小以不同的方式工作。右边编辑使用:
<font size='1...7'>the selected text here</font>
我不想成为一个跨度标签,即
<span style='font-size:30px'>the selected text here</span>
以下是下拉列表的代码:
var nicEditorFontSizeSelect = nicEditorSelect.extend({
sel : {1 : '1 (8pt)', 2 : '2 (10pt)', 3 : '3 (12pt)', 4 : '4 (14pt)', 5 : '5 (18pt)', 6 : '6 (24pt)', 7 : '7 (36pt)', 8 : '8 (48pt)', 9 : '9 (72pt)', 10 : '10 90pt)', 11 : '11 (100pt)'},
init : function() {
this.setDisplay('Font Size...');
for(itm in this.sel) {
this.add(itm,'<font size="'+itm+'">'+this.sel[itm]+'</font>');
}
}
});
但我找不到要修改的代码,以便将font
替换为textarea中的span
标记。
非常欢迎任何建议。
谢谢
答案 0 :(得分:4)
知道这是一个老问题,但其他人是否需要答案。
请注意,这是非常基础的,可以用于改进,例如它将创建嵌套的。
无论如何,在初始化nicEditor之前添加这个JS代码,创建一个自定义插件:
var nicSelectOptionsCustomFormat = {
buttons : {
'fontCustomSize' : {name : __('Font size'), type : 'nicEditorCustomFormatSelect'}
}
};
var nicEditorCustomFormatSelect = nicEditorSelect.extend({
sel : {'11px' : '11px', '13px' : '13px', '15px' : '15px', '19px' : '19px', '22px' : '22px'},
init : function() {
this.setDisplay('Font size');
for(itm in this.sel) {
this.add(itm,'<span style="size:'+itm+'">'+this.sel[itm]+'</span>');
}
}
,update : function(elm) {
var newNode = document.createElement('span');
newNode.style.fontSize = elm;
var rng = this.ne.selectedInstance.getRng().surroundContents(newNode);
this.close();
}
});
nicEditors.registerPlugin(nicPlugin,nicSelectOptionsCustomFormat);
然后在创建编辑器时使用fontCustomSize
,例如:
var config = {
buttonList: ["bold", "italic", "underline","fontCustomSize"]
};
var e = new nicEditor(config);
e.panelInstance("page-description");