依然第十四章

1、选择部分文本:使用setSelectionRange()方法,两个参数为第一个字符的索引和最后一个字符之后的索引,类似于substring()方法。

2、IE8及更早版本使用范围选择部分文本。

3、通过阻止keypress的默认事件,可以屏蔽输出字符,使文本框变为只读。

4、访问剪切板可以确保粘贴到文本框中的文本内容是符合要求的,不符合时可以阻止粘贴行为。

5、HTML5约束验证API:

1、必填字段:指定required属性

2、其他输入类型:为input元素的type属性增加了几个值,不仅能够反映数据类型的信息,还提供了一些默认的验证功能。email和url是两个得到支持最多的类型,不支持这些值的浏览器会自动将其设置为text。

3、数值范围,number/range/datetime等,支持情况不好。可以指定min属性/max属性/step属性。

4、输入模式:pattern属性,是一个正则表达式,用于匹配文本框中的值。比如只能输入数值,则

<input type="text" pattern="\d+" name="count">

模式的开头和结尾不用加^和$.

5、检测有效性。使用checkValidity()方法检测表单中的某个字段是否有效,判断依据是上述四种方法。可对表单自身调用。validity属性会告诉你为什么字段有效或无效。P430

6、禁止验证。表单添加noValidate属性表示不验证表单。给表单中的按钮添加formnovalidate属性表示点击按钮后不验证表单。

6、选择框脚本

1、选择框的value值的确定方法:

①如果没有选中的项,则选择框的value保存空字符串。

②如果有一个选中项,而且该项的value特性的值为空字符串,那么选择框的value为空字符串。

③选中项没有value特性,那么选择框的value等于选中项的文本。

④如果有多个选中项,根据前两条取第一个选中项的值。

2、每个<option>元素都有一个HTMLOptionElement对象,属性有index/label/selected/text/value。不建议使用标准DOM方法取得option元素的文本和值。

3、获得单选框的选中项,可以使用选择框的selectedIndex属性。获取多选框的选中项,可以循环遍历选项集合,测试每一项的selected属性。

4、添加选项

//方法一,DOM方法
var newOption=document.createElement("option");
newOption.appendChild(document.createTextNode("Option text"));
newOption.setAttribute("value","Option value"); selectbox.appendChild(newOption); //方法二,使用Option构造函数,IE8及之前版本有问题。
var newOption=new Option("Option text","Option value");
selectbox.appendChild(newOption); //方法三,使用选择框的add()方法,最佳方案
var newOption=new Option("Option text","Option value");
selectbox.add(newOption,undefined);

5、移除选项:①DOM的removeChild()方法,②选择框的remove()方法,接受一个参数,即要移除选项的索引。③将相应的选项设为null。要删除所有的,可以循环迭代remove(0)。

6、移动和重排:使用appendChild()方法和insertBefore()方法。

7、表单序列化P436

8、富文本编辑,所见即所得。

1、使用contenteditable属性,使得元素可编辑。

P444

js-JavaScript高级程序设计学习笔记11的更多相关文章

  1. JavaScript高级程序设计---学习笔记(一)

    今天,2017.3.17开始利用课余时间仔细学习<JavaScript高级程序设计>,将需要掌握的知识点记录下来,争取把书里的所有代码敲一遍并掌握. 1.标识符命名最好是第一个字母小写,剩 ...

  2. javascript高级程序设计学习笔记

    javascript高级程序设计,当枕头书已经好久了~zz  现在觉得自己在js的开发上遇到了一些瓶颈,归根究底还是基础太薄弱,所以重新刷一遍js高程希望有更新的认识. 一.javascript简介 ...

  3. javascript 高级程序设计 学习笔记

    <!--<script> // 异步请求封装 IE6即以上浏览器 // ajax(url,fnSucc,selectID,fnFaild) //url 请求地址 //fnSucc 异 ...

  4. JavaScript高级程序设计---学习笔记(二)

    面向对象程序设计1.属性类型.定义多属性.读取属性特性对象的属性在创建时都带有一些特征值,JavaScript通过这些特征值来定义它们的行为.这些特性是为了实现JavaScript引擎用的,因此不能直 ...

  5. JavaScript高级程序设计学习笔记第十章--DOM

    1.DOM:文档对象模型,是针对 HTML 和 XML 文档的一个 API(应用程序编程接口). 2.DOM 可以将任何 HTML 或 XML 文档描绘成一个由多层节点构成的结构. 3.文档节点是每个 ...

  6. JavaScript高级程序设计学习笔记--DOM

    DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序接口). Document类型 文档的子节点 虽然DOM标准规定Document节点的子节点可以是DocumentType,Ele ...

  7. Javascript高级程序设计学习笔记一

    看完w3school的javascript的概念,有点基础,开始红皮书的路程,今晚总结前二章的心得. 第一章:javascript简介 重点是javascript的实现是由 ECMAScript(核心 ...

  8. JavaScript高级程序设计---学习笔记(五)

    1.2D上下文 1)填充与描边 填充和描边的两个操作取决于两个属性:fillStyle和strokeStyle.两个属性的值可以是字符串.渐变对象或模式对象,默认值都是#000000 例: html: ...

  9. JavaScript高级程序设计学习笔记--面向对象的程序设计(二)-- 继承

    相关文章: 面向对象的程序设计(一) — 创建对象 http://www.cnblogs.com/blackwood/archive/2013/04/24/3039523.html 继承 继承是OO语 ...

  10. JavaScript高级程序设计学习笔记第八章--BOM

    1.间歇调用和超时调用: 超时调用:需要使用 window 对象的 setTimeout()方法,它接受两个参数:要执行的代码和以毫秒表示的时间(即在执行代码前需要等待多少毫秒).其中,第一个参数可以 ...

随机推荐

  1. 在VisualStudio2013,2015中如何安装自定义项目模板

    For example, I want to install EP prj template: AxWebProject.zip Copy AxWebProject.zip zip file into ...

  2. linux下安装安装pcre-8.32 configure: error: You need a C++ compiler for C++ support

    linux下安装安装pcre-8.32./configure --prefix=/usr/local/pcre 出现以下错误configure: error: You need a C++ compi ...

  3. 假设检验:p-value,FDR,q-value

    来源:http://blog.sina.com.cn/s/blog_6b1c9ed50101l02a.html,http://wenku.baidu.com/link?url=3mRTbARl0uPH ...

  4. 007商城项目:商品列表查询-需求分析,以及Spinmvc的访问知识

    我们之前已经整合了ssm框架并且调试已经好了,接下来我们实现商品列表的查询. 我们先进入到首页: 方法如下: 我们看到我们把所有的jsp页面都是放在: 这些页面都是放在WEB-IN下面的,也就是说这些 ...

  5. Linux文件结构及基本文件夹

    虽然Linux系统有很多种类,但是对于文件系统分区这块,基本上各个版本的Linux系统都是一样的.Linux文件系统分区不像Windows那样将硬盘分为C.D.E.F盘这样,Linux的文件结构是单个 ...

  6. 工作随笔——mysql子查询删除原表数据

    最近在开发的时候遇到一个mysql的子查询删除原表数据的问题.在网上也看了很多方法,基本也是然并卵(不是写的太乱就是效率太慢). 公司DBA给了一个很好的解决方案,让人耳目一新. DELETE fb. ...

  7. Zepto的天坑汇总

    前言 最近在做移动端开发,用的是zepto,发现他跟jquery比起来称之为天坑不足为过,但是由于项目本身原因,以及移动端速度要求的情况下,也只能继续用下去. 所以在这里做一下汇总 对img标签空sr ...

  8. Google最新截屏案例详解

    Google从Android 5.0 开始,给出了截屏案例ScreenCapture,在同版本的examples的Media类别中可以找到.给需要开发手机或平板截屏应用的小伙伴提供了非常有意义的参考资 ...

  9. HTC Vive 与Leap Motion 出现位置错误的问题

    Leap Motion已经支持VR, 但是官方没有支持HTC Vive的例子. 按照官方的文档, 其实是有问题的: https://developer.leapmotion.com/documenta ...

  10. C#迭代器

    迭代器概述 迭代器是可以返回相同类型的值的有序序列的一段代码. 迭代器可用作方法.运算符或 get 访问器的代码体. 迭代器代码使用 yield return 语句依次返回每个元素.yield bre ...