在用div模拟的编辑器中,如何获取输入光标所在的div元素,然后实现高亮输入光标所在行的效果html结构如下:
<div id="editArea" contenteditable="true"> <div>1234</div> <div>一二三四</div> <div>壹贰叁肆</div></div>
对于可编辑的div,我尝试用获得焦点和失去焦点的事件来实现高亮当前行的效果,但是在用↑、↓、回车和退格键改变输入光标所在行后,并没有触发焦点事件,只有点击时才触发。
光标可以通过 selection 来做到,在外层监听相关事件,然后获取 selection,再修改样式。
下面给你一段参考的代码,里面具体的触发绑定事件需要自行决定
<div id="editArea" contenteditable="true"> <div id="div1">1234</div> <div id="div2">一二三四</div> <div id="div3">壹贰叁肆</div> </div> <script> let highlightedElement = null; function highlightCurrentElement() { // 如果之前有高亮的元素,移除高亮 if (highlightedElement) { highlightedElement.classList.remove('highlighted'); } const selection = document.getSelection(); if (selection && selection.anchorNode && selection.anchorNode.parentNode) { highlightedElement = selection.anchorNode.parentNode; highlightedElement.classList.add('highlighted'); } } document.getElementById('editArea').addEventListener('click', highlightCurrentElement); </script>
你可以监听keyup
事件
vue2 如何实现上面的这种表格样式,点击对于单元格的时候可以进行编辑,可以添加一行或者删除其中的一行,或者是移动当前的某一行,导出,保存等操作 有没有第三方的库,或者是提供一个思路也可以,麻烦各位大佬了
本文向大家介绍javascript实现节点(div)名称编辑,包括了javascript实现节点(div)名称编辑的使用技巧和注意事项,需要的朋友参考一下 节点html代码如下: js编辑noteTxt文本,function如下: css如下: 代码非常的简单,这里就不多做解释了,下伙伴们可以自由发挥下,使用到自己的项目中去。
或者不使用swiper的其他方式怎么实现?
有一个需求,需要用户上传word,完了在线编辑后生成pdf,目前是打算时候canvas-editor来进行在线编辑,用Mammoth.js来实现解析word,生成html信息传给canvas-editor。 目前有一个问题,如果word设置了页眉页脚的话,Mammoth.js是拿不到相关信息的,请问这该如何解决呢?或者有没有其他更好的库?
本文向大家介绍JS实现选中当前菜单后高亮显示的导航条效果,包括了JS实现选中当前菜单后高亮显示的导航条效果的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现选中当前菜单后高亮显示的导航条效果。分享给大家供大家参考。具体如下: 这里演示选中当前菜单后,该菜单高亮显示,也就是说在不改变菜单CSS代码的情况下,用JavaScript去控制菜单的背景,如果该菜单项被点击后,将赋予它一个与众不
本文向大家介绍Kafka 的高可靠性是怎么实现的?相关面试题,主要包含被问及Kafka 的高可靠性是怎么实现的?时的应答技巧和注意事项,需要的朋友参考一下 数据可靠性 Kafka 作为一个商业级消息中间件,消息可靠性的重要性可想而知。本文从 Producter 往 Broker 发送消息、Topic 分区副本以及 Leader 选举几个角度介绍数据的可靠性。 Topic 分区副本 在 Kafka