我有各种<div>
我的页面上有 s,单击后会转换为 TinyMCE 编辑器部分。因此,用户只需双击 div,然后使用 TinyMCE 编辑其中的文本即可。
我的问题是 - 是否可以在<div>
没有实际选择里面的文本?我的意思是,我想实现以下用例:
- 用户点击
<div>
.
-
<div>
激活其自身的 TinyMCE 会话。
- 用户现在可以使用 TinyMCE 工具栏上的按钮编辑 div 中的所有文本,而无需使用光标实际手动选择文本。否则,通常的情况是用户必须选择某些文本,并且 TinyMCE 工具只会编辑所选的文本。
如何实施?实施起来有多容易?
Edit
澄清:我的意思不仅仅是TinyMCE编辑器应自动选择所有文本进行更改,而是我的意思是根本不选择,可以对其进行格式化吗?我的目标是让用户只能编辑格式化 of a <div>
使用 TinyMCE,但不能更改文本本身。我实际上不希望用户能够选择任何文本,只需单击<div>
,这应该自动允许包含的文本格式化的由 TinyMCE 编写,其文本实际上并未更改。但是,如果您明白我的意思,则文本区域不应该对用户“可选择”。如果需要,它可以选择自己(按照下面的 @Thariama 的解决方案),但不是由用户选择。这可能吗?有点像仅启用 TinyMCE 工具栏按钮但禁用文本编辑功能。据我所知,我不能使用readonly
TinyMCE 的配置还会禁用带有所有格式选项(如文本突出显示、粗体、斜体等)的工具栏。
在tinymce初始化后选择所有编辑器内容不是一个大问题。这可以使用setup配置参数轻松完成
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);
});
}
});
Here是一个tinymce小提琴。
Update:
你正在寻找的是类似的东西$(ed.getBody()).attr('contenteditable','false');
这样,用户将无法选择甚至编辑编辑器内容,但 tinymce 按钮仍然可用(产生所有后果)。
您可以创建具有所需功能的自己的工具栏元素。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)