pma934 / pma934.github.io

build by https://github.com/pma934/vuetify-blog
2 stars 0 forks source link

红宝书 笔记14 #12

Closed pma934 closed 5 years ago

pma934 commented 5 years ago

有道云

表单脚本

elements 该属性是表单中所有表单元素的集合

//每个表单字段

focus() 获得焦点

blur() 失去焦点

文本框脚本

过滤输入

通过设置keypress事件

==操作剪切板==

HTML5约束验证API

新增pattern属性,可以使用正则表达式进行约束 <input type="text" pattern="\d+" name="count">

检测有效性

使用checkValidity()方法可以检测表单中的某个字段是否有效。是否有效的判断依据是一些<input>的约束条件。

常用绑定事件

==富文本选区==

==DOM选区在红宝书12章 DOM范围==

下面使用的的Range就是DOM选区

范围选择() window.getSelection()或者document.getSelection() 建

Selection对象属性:

Selection对象方法:

document.execCommand

当一个HTML文档切换到设计模式时,document暴露 execCommand 方法,该方法允许运行命令来操纵可编辑内容区域的元素。

bool = document.execCommand(aCommandName, aShowDefaultUI, aValueArgument)

一个 Boolean ,如果是 false 则表示操作==不被支持==或==未被启用==。

注意:在调用一个命令前,不要尝试使用返回值去校验浏览器的兼容性

比如,复制选区(选区就是上面介绍的 ==window.getSelection()== 或者==document.getSelection()== )

document.execCommand('copy')

属性和方法具体见:https://developer.mozilla.org/zh-CN/docs/Web/API/Document/execCommand

Range补充笔记

在document中可以使用document.createRange()创建一个选区,也可以new Range()创建

也可以用Selection对象的getRangeAt方法取得

属性

方法

定位方法

我们没有在此列举继承方法。

编辑方法

通过以下方法,可以从 Range 中获得节点,改变 Range 的内容。

示例

选中全文(相当于在浏览器按ctrl+a)

var select = document.getSelection()
var range = document.createRange()
range.selectNode(document.body)
select.addRange(range)

或者

必须要已经有选中区域才行,不然var range = select.getRangeAt(document.body)会报错,但是省去了插入区域到选区的步骤

var select = document.getSelection()
var range = select.getRangeAt(document.body)
range.selectNode(document.body)