首页
学习
活动
专区
圈层
工具
发布

从零开始,开发一个 Web Office 套件(13):删除、替换已选中文字

这是一个系列博客,最终目的是要做一个基于 HTML Canvas 的、类似于微软 Office 的 Web Office 套件(包括:文档、表格、幻灯片……等等)。...博客园:《从零开始, 开发一个 Web Office 套件》系列博客目录 富文本编辑器 Github repo 地址:https://github.com/zhaokang555/canvas-text-editor...富文本编辑器(MVP) 2.26 Feature:删除、替换已选中文字 2.26.1 算法 当我们按下按键时,首先判断下是否有选中文字: 如果此前已经选中了文字,则: 删除选中文字 如果按下的是'Backspace...'键,将光标移动到删除位置 如果按下的是'Enter'键,将本段落从删除位置截断为两段,将光标移动到下一段开头处 如果输入的是普通文字(无论是否正在使用输入法),从删除位置插入文字 如果此前没有选中文字...,且光标是可见的,则直接进入前文已实现的插入/删除文字逻辑 2.26.2 实现 调用算法: 实现算法: 2.26.3 效果 删除已选中文字: 替换已选中文字: (未完待续)

23820

jQuery选择器和选取方法

一、jQuery选择器 在CSS3选择器标淮草案定义的选择器语法中,jQuery支持相当完整的一套子集,同时还添加了一些非标准但很有用的伪类。注意:本节讲述的是 jQuery选择器。...本章中我们已看到过的大部分jQuery方法都是在选中元素上执行某种操作。选取方法不一样:它们会修改选中元素集,对其进行提取、扩充或仅作为新选取操作的起点。 本节描述这些选取方法。...("p");       //类数组对象 $("div").add(paras);        //给add()传入元素数组 1.将选中元素集用做上下文 上面描述的filter(). add()、和not...它会在每一个当前选中元素的子孙元素中寻找与指定选择器字符串匹配的元素,然后它返回一个新的 jQuery对象来代表所匹配的子孙元素集。注意这些新选中的元素不会并入已存在的选中元素集中。...andSelf()返回一个新的jQuery对象,包含当前的所有 选中元素,加上之前的所有选中元素(会去除重复的)。andSelf()和add()方法一样,或许“addPrev”是一个更具描述性的名字。

5.8K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JS魔法堂:那些困扰你的DOM集合类型

    同名不同性——IE下怪异的HTMLCollection                  假如大家看过《JS魔法堂:追忆那些原始的选择器》,应该会了解到在IE5678下,document.all会返回一个类函数对象...不过其value属性就值显示其中被选中的单选项表单元素的value值,若没有单选项表单元素,或没有选中单选项表单元素,那么value值为空字符串。...拥有以下方法和属性 {Undefined} add({String} class); // 已存在的类不会被重复添加 {Undefined} remove({String} class) {Undefined...另外,JQuery中也有一个data函数,那么它跟以"data-"开头的自定义特性有什么关联呢?...JQuery这种算是折中的做法吧,所以用JQuery的data API操作自定义特性时最好不要跟dataset或get/setAttribute等原生API混合用咯。

    2.3K90

    datatables应用程序接口API

    DataTables 提供的可以操作表格数据的API,有下面六个关键部分: 表格(tables) 列(Columns) 行(Rows) 单元格(Cells) 核心方法(Core) 工具类(Utilities...DataTables for the selected row(不理解) row().node()DT 获得 tr 节点 row().remove()DT 删除行 row()DT 获取一行 row.add...table().node()DT 得到 table节点 table()API 基于选择器获得表格的 API 对象 tables().body()DT 得到表格 tbody节点,如果是一次性初始化多个表格,使用类选择器...reverse()DT 反转结果集 shift()DT 移除并返回结果集中的第一个 sort()DT 对结果集进行排序 splice()DT 对结果集进行分割 to$()DT 转为jquery实例 toArray...()DT 把结果集转换为javascript数组 toJQuery()DT 转为jQuery实例 unique()DT 去重 unshift()DT 在结果集里从头添加一个或多个项目,返回长度 静态方法

    5.8K30

    【Java 进阶篇】JQuery 案例:全选全不选,为选择添彩

    JQuery 全选全不选实现原理 全选全不选的实现原理十分简单,主要涉及到以下几个步骤: 选择触发全选和全不选操作的元素,如一个复选框或按钮。...使用 JQuery 选择器选中需要进行全选和全不选操作的目标元素,通常是表格中的多个复选框。 为触发元素绑定事件,监听其点击事件。...在事件处理函数中,通过 JQuery 选择器选中目标元素,并设置它们的 checked 属性,实现全选和全不选效果。 下面是一个基本的实现示例: 类元素分别绑定点击事件的处理函数,在函数中根据点击的元素的状态设置目标元素的状态,从而实现全选和全不选的效果。...邮件列表 在一个邮件列表中,用户可能需要批量操作邮件,例如将它们标记为已读、删除等。通过全选全不选功能,用户可以方便地选择多封邮件进行批量操作。 <!

    90840

    使用jQuery筛选排除元素以修改指定标签的属性

    1、eq()    筛选指定索引号的元素 2、first()  筛选出第一个匹配的元素 3、last()   筛选出最后一个匹配的元素 4、hasClass()  检查匹配的元素是否含有指定的类...筛选获取指定元素的资源 12、closest()   从当前元素开始,返回最先匹配到的符合条件的父元素 13、find()    从指定元素中查找子元素 14、next()     获取指定元素的下一个兄弟元素...   获取指定元素的所有祖先元素,一直到 20、parentsUntil()  获取指定元素的祖先元素,知道参数里能匹配到的为止 21、prev()    获取指定元素的前一个兄弟元素...注意参数条件本身不会被匹配 24、siblings()   获取指定元素的兄弟元素,不分前后 25、add()    将选中的元素添加到jQuery对象集合中 26、andSelf()  将自身加到选中的...jQuery集合中,以方便一次性操作 27、end()     将改变当前选择器选中的操作回退为上一个状态。

    1.9K20

    JQ中serialize表单序列化,当radio或checkbox 未选中时,问题分析&解决方案

    相信很多人都用过jq的表单序列化serialize()方法,因为这能很方便地帮你把表单里所有的非禁用输入控件序列化为 key/value 对象,不需要你再去一个个地拼接参数了。...这是一个很好用的函数,用过的你肯定知道。但是ghostsf最近发现一个小bug(也许不应该叫bug,姑且称之)。就是当radio或checkbox 未选中时,没有序列化到对象中。 什么原因呢?...this.map(function() { // Can add propHook for "elements" to filter or add form elements...那么自然当radio或checkbox 未选中时,这边的数组长度是为0的,所以这里就把radio或checkbox给漏掉了。 那么怎么解决呢?直接改源码?这也太粗暴了吧。...ghostsf心血来潮写了一个jq拓展,代码如下:(并不要脸地命名为ghostsf_serialize): //为jquery.serializeArray()解决radio,checkbox未选中时没有序列化的问题

    2.5K20

    【前端开发】HTML+CSS+JavaScript前端三剑客的基础知识体系了解

    • checked: 默认被选中. (⽤于单选按钮和多选按钮) 5....⼀般放到 head 标签内 2.3CSS选择器 CSS 选择器的主要功能就是选中⻚⾯指定的标签元素. 选中了元素, 才可以设置元素的属性....; ⼀个类可以被多个标签使⽤, ⼀个标签也能使⽤多个类(多个类名要使⽤空格分割, 这种做法可以让 代码更好复⽤) 3.id选择器 #submit { color: red; } 注意:id 是唯...(10, 20)); // 30 console.log(add(1, 2, 3, 4)); // 10 console.log(typeof add); 这就是第二种写法,将add变量作为sum的返回的值...{ $(this).hide(); }); }); 这就是一个点击交互,然后按键消失的操作; 解释:等文件加载完毕后点击了这个按钮就会触发一个方法,这个方发就会导致消失的操作

    1.1K10
    领券