当前位置: 首页 > news >正文

wangEditor5添加键盘事件/实现定时保存功能

1、问题概述?​​​​​​​

主要内容:添加键盘事件、实现定时保存功能。

wangEditor5轻便好用,但是在很多的功能上还有待完善,毕竟个人精力有限。

为什么要添加这个键盘事件呢?因为我在实现当内容发生变化,就出发自动修改功能的时候,发现onChange函数,只要我们点击一下就会出现,并不是内容修改才触发(不知道是不是我配置问题),于是我尝试给wangEditor5编辑器添加键盘事件,并实现定时保存功能。

也可实现实现如下功能?

如:当点击Enter键的时候实现存储或主动修改功能?

 

如:点击任意数字或字母键盘的时候,出现修改功能。

2、添加键盘事件实现方式

2.1、自动添加或修改的重要思想

重点:键盘事件及自动保存功能一个非常重要的小技巧?

就是需要设置一个公共的状态值,status,

如果status=-1表示值没变化,不需要修改或添加。

如果status=1表示值变化,需要修改或自动添加。

我直接在页面添加了一个隐藏域status,如下代码:

//如果status=-1表示内容没变,如果status=1表示内容修改
<input type="hidden" id="status" value="-1">
//如果id=-1表示添加功能,如果id!=-1表示修改功能
<input type="hidden" id="id" value="-1">

2.2、创建键盘事件函数

在页面加载的时候,自动加载就行了

以下的各种条件,可以根据自己实际的需求和情况进行设定。

function InitKeyEvent(layer){// 添加键盘按下事件监听$("#editor-text-area").on('keydown', function(event) {console.log('Key pressed:', event.key);if (event.key === 'Enter') {//获取文章状态值var status=$("#status").val();var id=$("#articleid").val();//1表示变化if(id=-1){saveData();}if(status==1&&id!=-1){updateDate();} //修改或添加后,重置status状态值$("#status").val(-1);}//如果点击了非Enter,上下左右键,执行修改功能。       if(event.key!="Enter"&&event.key!="ArrowUp"&&event.key!="ArrowDown"&&event.key!="ArrowLeft"&&event.key!="ArrowRight"){//获取文章的标题内容var title=$("#title").val();//如果标题不为空就修改状态值//值变化后,定时修改功能就能满足条件,从而自动保存。if (title!=""){$("#status").val(1);}}});
}

2.3、创建定时任务

案例中直接使用javaScript创建定时任务,也可以使用如springboot等工具实现定时任务的创建。

function onEvent(){//每两分钟执行一次setInterval(function(){var status=$("#status").val();var id=$("#id").val();//1表示变化if (status==1){if(id==-1){var title=$("#articletitle").val();//标题if (title!=""){//加入标题不为空saveDate();}}else{if (status==1){updateDate();}}}}, 120000);}

http://www.dtcms.com/a/291635.html

相关文章:

  • 【文献笔记】ARS: Automatic Routing Solver with Large Language Models
  • SpringMVC快速入门之启动配置流程
  • C语言基础:函数练习题
  • 【洛谷】用两个数组实现静态单链表、静态双向链表,排队顺序
  • C#初学知识点总结
  • 假发行业数字化突围,外贸ERP重构外协管理引擎,助力效率飞跃
  • 智联智造:国内新能源汽车品牌AGV小车无线控制系统创新实践
  • 面试题:sql题一
  • 前端项目启动后,只有localhost地址,没有ip地址
  • vs2017 c++ 使用sqlite3数据库
  • Java 邂逅 WebSocket:解锁实时通信的无限可能​
  • Flutter基础(前端教程①⑦-Column竖直-Row水平-Warp包裹-Stack堆叠)
  • 【计算机网络 篇】TCP基本认识和TCP三次握手相关问题
  • ArKTS: DAL,Model,BLL,Interface,Factory using SQLite
  • docker-desktop启动失败
  • 【电影剖析】千钧一发
  • 从 “能用“ 到 “好用“:中小制造企业数字化转型中的 IT 系统优化管理策略
  • 【openbmc6】entity-manager
  • C# 转换(is和as运算符)
  • 【人工智能99问】transformer的编码器和解码器是如何协同工作的?(15/99)
  • 【面经】实习经历
  • Thread 类
  • Java注解家族--`@ResponseBody`
  • 2025杭电多校赛(2)1006 半
  • 微信二维码扫描登录流程详解
  • Pytorch版本、安装和检验
  • 简单讲解HTTPS如何保证安全性和可靠性
  • 网安学习NO.15
  • 树链剖分-苹果树
  • TPS61194PWPRQ1适用于汽车照明低 EMI、高性能 4 通道 LED 驱动器TPS61194