我正在使用TinyMCE,我想将默认字体大小设置为12。
在这里,我为活跃的TinyMCE编辑器分配了一个变量,但它不起作用......
HTML内容:
<textarea id="text_message"></textarea>
JavaScript的:
$("#text_message").tinymce({
// Location of TinyMCE script
script_url: '/static/app/a/scripts/tinymce/jscripts/tiny_mce/tiny_mce.js'
});
var fontSize = 12;
tinyMCE.activeEditor.formatter.apply('fontSize',
{
value: fontSize
});
答案 0 :(得分:2)
您应该等待几个不同的事件阶段:
tinyMCE.init()
也可以使用,具体视情况而定。)第一个可以使用以下任一方式完成:
$(document).ready()
或者:
$(window).load()
两者都处理与页面准备情况相关的事件。当DOM可用时会$.ready()
触发,$.load()
会在加载页面内容时触发window
(例如内联img
,script
,和link
来源)。 .ready()
在另一个之前略微发射,但在许多情况下要么会起作用。
注意,下面我有jQuery(function($){...});
这是$(document).ready();
的快捷方式,有助于管理与全局使用$
的其他框架的冲突。
在第二阶段,您需要在编辑器创建请求中添加initialization event handler,例如:
$.tinymce({ init_instance_callback: function(){ ... } });
完整:
$tiny.tinymce({
// ... other stuff here, comma-delineated
init_instance_callback: function(){
ac = tinyMCE.activeEditor;
ac.dom.setStyle(ac.getBody(), 'fontSize', fontSize);
}
// ... other stuff here, comma-delineated
});
您可以在此处为font-size
设置显示值(使用fontSize
的Javascript属性,因为Javascript在标签中不允许-
例如font-size
)。这等待您添加的编辑器初始化并说“嘿,我现在在这里”。获得通风口点火通知后,您可以将编辑器body
(ac.getBody()
返回的内容)设置为font-size: 18px
。
这意味着,一旦您选择保存编辑器内容,将不会返回font-size
;它在编辑器“body”(字面意思是iframe
的{{1}}元素)之上,在大多数情况下(除非你选择plugins : "fullpage"
initialization option)。所以这是一个“默认”,但没有在内容本身明确设置。
如果您安装了带有Firebug插件的Chrome或Firefox,请观看此小提琴上的body
:
http://jsfiddle.net/userdude/9PuUx/1/
这是工作代码演示和小提示演示的链接(我使用console
轻松查看更改):
18px
http://jsfiddle.net/userdude/9PuUx/
tinyMCE文档和API可能有点令人困惑和缺乏,我也不是使用它的专家,所以我知道可能有四到五种其他方法来解释正在发生的事情以及如何做到这一点。你的旅费可能会改变。如果您对我这样做的方式存在问题,或者它似乎没有按您的意愿行事,请发表评论并告诉我。