有没有办法通过直接使用插件中创建的相同命令来更改连接到TinyMCE工具栏的textarea的方向性?我的意思是,我想以编程方式运行RTL方向性而不实际点击工具栏的图标。
在directionality
插件的源代码中,包含以下代码:
ed.addCommand('mceDirectionRTL', function() {
setDir("rtl");
});
这意味着mceDirectionRTL
是一个命令。我可以直接在代码中使用它吗?我试过但是没有被认出来。
我问的原因是我想在启动tinyMCE实例后运行此命令,而不是在TinyMCE工具栏的初始化/设置功能期间运行。我有一堆texraeas,有些是英语,有些有类ar
表示它们是阿拉伯语,也就是RTL。
但是当我这样做时:
$('ID of my textarea'_ifr').contents().find('body').attr('dir', 'rtl');
然后一切都很好,除了mceExternalToolbar
(整个工具栏!)而不仅仅是textarea,变成了rtl。因此外部工具栏基本上不合适,并且倾斜到页面的右侧。但我只希望它连接的textarea有RTL文本,而不是整个工具栏!
因此,我希望以某种方式在工具栏实例化之后以外部模拟单击工具栏上的RTL按钮。这可能吗?
答案 0 :(得分:4)
设置和重绘可能是一个解决方案:
http://www.tinymce.com/forum/viewtopic.php?id=9735
tinyMCE.settings['directionality'] = 'rtl';
tinyMCE.execCommand( 'mceRemoveControl', false, 'editor );
tinyMCE.execCommand( 'mceAddControl', false, 'editor );
答案 1 :(得分:1)
如果你“安装”方向性插件,你可以做这样的事情。您还需要对tinyMCE的引用。
function(directionality){
var command = directionality == 'ltr' ? 'mceDirectionLTR' : 'mceDirectionRTL'
for(var i = 0; i++; i<tinyMCE.editors.length;{
tinyMCE.editors[i].execCommand(command)
}
}
我的网站上有两位编辑。它似乎为我完成了工作。