我的页面上有各种<div>
,点击后会转换为TinyMCE编辑器部分。因此,用户只需双击div,然后使用TinyMCE编辑其中的文本。
我的问题是 - 是否可以在<div>
上运行TinyMCE功能而不实际选择文本?我的意思是,我想实现以下用例:
<div>
。<div>
激活TinyMCE会话。如何实施,以及它有多容易?
澄清:我并不仅仅意味着TinyMCE编辑器会自动选择所有文本进行更改,但我的意思是,如果没有选择,是否可以格式化?我的目标是允许用户只能使用TinyMCE编辑<div>
的格式,但不能更改文本本身。我实际上不希望用户能够选择任何文本,只需单击<div>
,这应该会自动允许包含的文本由TinyMCE 格式化,而实际上没有文本被改变了。但是,如果你知道我的意思,textarea不应该为用户“选择”。它可以根据需要选择自己(根据@ Thariama的解决方案),但不是由用户选择。这可能吗?有点像只启用TinyMCE工具栏按钮但禁用文本编辑功能。据我所知,我不能使用TinyMCE的readonly
配置,它还会禁用带有所有格式选项的工具栏(如文本高亮,粗体,斜体等)。
答案 0 :(得分:1)
我的答案是使用@ Thariama的设置代码组合:
tinyMCE.init({ ....
setup : function(ed) {
ed.onInit.add(function(ed, evt) {
ed.getBody().setAttribute('contenteditable', false);
var range = ed.selection.dom.createRng();
range.setStartBefore(ed.getBody().firstChild);
range.setEndAfter(ed.getBody().lastChild);
ed.selection.setRng(range);
});
}
});
有一种方法可以在textarea中禁用按键,即如果我的textarea的ID为TAID
,那么我添加了这段代码:
$('#TAID_ifr').contents().find('html').bind('keypress', function(e){return false;});