就像您可以禁用<textarea disabled>...</textarea>
组件一样,我想禁用编辑器编辑器,但仍会在我的页面上显示它。
我希望Redactor能够在我正在初始化的textarea上读取disabled属性,并根据需要禁用编辑器,但它不起作用,而是创建一个功能齐全的编辑器。
<textarea class="redactor" disabled></textarea>
...
<script type="text/javascript">
$(function () {
$('.redactor').redactor();
});
</script>
我是否可以使用其他API命令或解决方法来创建禁用的编辑器?一种简单的禁用和启用它的方法将是首选。我似乎无法在Redactor文档或API中找到有关如何执行此操作的任何内容。
我正在使用Redactor 9.1.9,但如果有必要,我愿意升级。谢谢!
答案 0 :(得分:2)
我遇到了同样的问题,我需要在某些情况下启用/禁用Redactor。结束这样的事情:http://imperavi.com/redactor/examples/click-to-edit/
在该示例中,单击textarea&#39;启用&#39;通过加载Redactor并单击“保存”来禁用&#39;通过摧毁它。
通过您的示例,$(".redactor").redactor('destroy')
将删除Redactor铃声和口哨声,并为您留下一个禁用的textarea。 $(".redactor").redactor()
会再次启用它。
不确定它是否是最好的解决方案,但正如您所提到的,他们的API似乎没有不同的方法。
答案 1 :(得分:2)
如果要停用编辑器,请尝试将contenteditable
属性设置为false
。如果您在浏览器中检查源代码(例如使用Firebug),您将看到包装编辑器的div具有contenteditable="true
“属性。因此,请尝试使用jQuery更改此代码:
$('。redactor-editor')。attr('contenteditable','false');
或Angular(在我的情况下):
angular.element('。redactor-editor')。attr('contenteditable','false');
您可以尝试使用timeout
执行此操作,以确保完全生成编辑器中的内容,并且您可以访问其属性。
答案 2 :(得分:0)
要禁用:
element.redactor('core.editor').attr('contenteditable', 'false');
启用
element.redactor('core.editor').attr('contenteditable', 'true');