原理
元素本身不允许硬回车即被拆分到不同的行。同时具有如下特性:
- 可以使用Shift+Enter来实现元素内软件回车,即换行效果
- 元素内回车一定会产生”setElementContent.request”事件用于应用按业务要求修改元素内容
配置
方案一:文档全局允许元素跳转
则在元素内会产生”setElementContent.request”事件,该事件从应用返回后,会自动依次跳转到下一个元素。
- 注意
元素有嵌套时,最先到达的是外层元素,应用设置时应注意,修改外层元素的内容内层元素对象可以被覆盖。
var cfg={};
cfg.auto_jump_mode = E_CFG_MODE.GlobalAllow;//1
ThinkEditor.SetDocConfig(cfg);
方案二:跟随元素跳转设置
Step1:文档默认为跟随元素跳转配置,也可以通过如下语句设置
var cfg={};
cfg.auto_jump_mode = E_CFG_MODE.FollowObjectCfg;//0
ThinkEditor.SetDocConfig(cfg);
Step2: 通过元素配置UI 允许元素跳转。
应用根据”setElementContent.request”事件回调,修改元素内容
Step1: 注册监听
ThinkEditor.addEventListener("setElementContent", this.setElemetnContentListener);
Step2: 修改元素内容
setElemetnContentListener(e){
console.log(e);
/**************************************************
返回值:true 表示继续执行修改元素操作 false 表示取消本次修改操作
***************************************************/
var allow=true;
var data = e.data;
if(data.handle=="request")
{//请求设置元素内容
/* 提取元素信息 */
var id = data.id;
var name = data.name;
var source_class = data["source-class"];
var source_id = data["source-id"];
/* 应用可根据id、name或source_class、source_id判定当前签名类型 */
/**************************************************
由应用处理业务代码 灵活设计
***************************************************/
//注意ID填空,表示设置当前正在操作的元素,也可以填具体元素ID
ThinkEditor.SetElementContent("", "<Fragment><Format color='0' />12345678</Fragment>");
//or 或者使用如下语句设置
//ThinkEditor.SetElementContent("DE01.0.010.00", "<Fragment><Format color='0' />12345678</Fragment>");
}
return allow;
}
文档更新时间: 2025-02-07 10:35 作者:admin