一、案例需求 实现如下效果 , 默认状态下 , 表单显示灰色提示字体 , 点击表单输入内容是黑色字体的 ; 二、案例核心要点 1、获取焦点事件 - onfocus 事件 在 JavaScript 中 ,...当 DOM 元素 获得焦点时 , 该 DOM 元素上绑定的 onfocus 事件被触发 ; 绑定该 onfocus 事件的元素 一般都是 input 表单元素 ; 如 : 当 用户 点击输入框 或 通过键盘切换到输入框时..., 该事件会被触发 ; 绑定 onfocus 事件的方法 : 设置 onfocus 属性 : 可以 通过 DOM 操作 , 给元素添加 onfocus 属性 , 来指定当焦点集中在元素上时要执行的JavaScript...("focus", function() { // 执行相关操作 }); 2、失去焦点事件 - onblur 事件 在 JavaScript 中 , 当 DOM 元素 失去焦点时 , 该 DOM...属性 : 可以通过 DOM 操作 , 给元素添加 onblur 属性 , 来指定当焦点集中在元素上时要执行的JavaScript代码 ; // 行内设置 : 使用 onblur 属性 <input type
一、表单的基础知识 在HTML中,表单由元素来表示,而在JavaScript中,表单对应的则是HTMLFormElement类型。...method 要发送的HTTP请求类型;等价于HTML的method特性 name 表单的名称;等价于HTML的name特性 reset() 将所有表单域重置为默认值 submit() 提交表单 target...选择部分文本 setSelectionRange(要选择的第一个字符索引, 要选择的最后一个字符索引) 注意要看到被选择的文本,必须在调用setSelectionRange()之前或之后立即将焦点设置到文本框...startIndex); range.moveEnd("character", endIndex - startIndex); range.select(); } // 将焦点设置到文本框上...自动切换焦点 用户填写完当前字段时,自动将焦点切换到下一个字段。
表单的基础知识 ---- 在 HTML 中,表单是由 form 元素来表示的,而在 JavaScript 中,表单对应的则是 HTMLFormElement 类型。...HTML 的 method 特性 submit(): 提交表单 reset(): 将所有表单域重置为默认值 提交表单 使用 input 或 button 都可以定义提交按钮,只要将其 type 特性的值设置为...在支持这个属性的浏览器中,只要设置这个属性,不用 JavaScript 就能自动把焦点移动到相应字段。...共有的表单字段事件 所有表单字段都支持下列 3 个事件: blur: 当前字段失去焦点时触发 focus: 当前字段获得焦点时触发 change: 对于 input 和 textarea 元素,在它们失去焦点且...约束验证 API ---- 为了在将表单提交到服务器之前验证数据,HTML5 新增了一些功能。
在本文中,我们将研究 HTML 表单字段和 HTML5 提供的验证选项。我们还将研究如何通过使用 CSS 和 JavaScript 来增强这些功能。 什么是约束验证? 每个表单域都有一个目的。...并为此经常管辖约束上或理事什么应该和不应该被输入到每个表单域的规则- 。...CSS 验证样式 您可以将以下伪类应用于输入字段以根据当前状态对其进行样式设置: 选择器 描述 :focus 重点领域 :focus-within 一个元素包含一个具有焦点的字段(是的,它是一个父选择器...这就是 JavaScript 介入的地方…… JavaScript 和约束验证 API 该约束验证API提供了可增强标准的HTML现场检查表单自定义选项。...你可以: 停止验证,直到用户与字段交互或提交表单 使用自定义样式显示错误消息 提供仅在 HTML 中无法实现的自定义验证。
一.表单介绍 在HTML中,表单是由元素来表示的,而在JavaScript中,表单对应的则是HTMLFormElement类型。...表单处理中,我们建议使用HTML DOM,它有自己的elements属性,该属性是表单中所有元素的集合。...方法 说明 focus() 将焦点定位到表单字段里 blur() 从元素中将焦点移走 fm.elements[0].focus();//将焦点移入 fm.elements[0].blur();//将焦点移出...共有的表单字段事件 表单共有的字段事件有以下三种: 事件名 说明 blur 当字段失去焦点时触发 change 对于和元素,在改变value并失去焦点时触发;对于<select...alert(textField.defaultValue);//得到最初的value值 选择文本 使用select()方法,可以将文本框里的文本选中,并且将焦点设置到文本框中。
深入display:none 我们都清楚当元素设置display:none后,界面上将不会显示该元素,并且该元素不占布局空间,但我们仍然可以通过JavaScript操作该元素。...这个涉及到浏览器的渲染原理:浏览器会解析HTML标签生成DOM Tree,解析CSS生成CSSOM,然后将DOM Tree和CSSOM合成生成Render Tree,元素在Render Tree中对应0...无论是捕获、命中目标和冒泡阶段均不可以 由于display:none的元素根本不会在界面上渲染,就是连1个像素的都不占,因此自然无法通过鼠标点击命中,而元素也无法获取焦点,那么也不能成为键盘事件的命中目标...6.不耽误form表单提交数据 虽然我们无法看到display:none的元素,但当表单提交时依然会将隐藏的input元素的值提交上去。...2.和display:none一样无法获得焦点 3.可在冒泡阶段响应事件 由于设置为visibility:hidden的元素其子元素可以为visibility:visible,因此隐藏的元素有可能位于事件冒泡的路径上因此下面代码中
JavaScript引入方式有两种: 内部脚本:将 JS代码定义在HTML页面中 外部脚本:将 JS代码定义在外部 JS文件中,然后引入到 HTML页面中 2.1 内部脚本 在 HTML 中,JavaScript...也就是 JavaScript 将 HTML 文档的各个组成部分封装为对象。..."); /* style:设置元素css样式 innerHTML:设置元素内容 */ //2,遍历数组,获取到每一个 div 元素对象,并修改元素内容 for (...当表单提交时触发该事件 onmouseover 鼠标被移到某元素之上 onmouseout 鼠标从某元素移开 onfocus 获得焦点事件。...如下图,当鼠标移入到 苹果 图片上时,苹果图片变大;当鼠标移出 苹果图片时,苹果图片变小。 onsubmit 表单提交事件 如下是带有表单的页面 html <!
没有它,用户将无法感知他们在与哪个 标签交互。5. html>标签没有设置lang属性。...这样的设计会导致当 input 得到焦点时,placeholder 自动消失,造成用户无法感知当前表单项的内容。...为表单元素设置原生的校验属性 required、minlength、pattern 等表单的原生校验属性,不但可以满足正常的表单校验需求,也具有更好的无障碍支持 规则 4:注意页面的焦点管理,允许用户仅通过键盘完成交互...但对于无法聚焦的元素,我们可以设置元素的 tabindexlace 属性,使元素可聚焦。 如果想给当前元素生成快捷键的话,可以给元素设置 accesskey 属性。...如果你的页面没有显式设置当前页面所使用的语言,那么读屏软件将无法选择匹配的语音配置文件和字符集,读屏软件读出的页面内容是乱码。
它补充了 HTML,以便在没有其他机制时可以将应用程序中常用的交互和小部件传递给辅助技术。...例如,ARIA 支持 HTML4 中的可访问导航地标、JavaScript 小部件、表单提示和错误消息、实时内容更新等。...上方这个div被选中时,屏幕阅读器会播报「HullQin的自我介绍」,而不会播报「你好,我是HullQin」。role="button"role="button",将元素标记为按钮,。...这对视障群体并不友好,因为焦点多、密集,明明是同一块内容,却分散到2个焦点上,这不方便他们摸索整个页面。...部分读屏软件可能无法打开链接将链接的onclick事件放在父结点触发,父节点设置role="button"或"link"只有1个链接,且整体内容与该链接强相关(如“您已阅读并同意《协议》”)打开链接很方便
如改变页面内容、修改指定元素的属性值、对表单进行校验等,下面是这些功能的效果展示: 改变页面内容 图片 当我点击上面左图的 点击我 按钮,按钮上面的文本就改为上面右图内容,这就是js 改变页面内容的功能...JavaScript引入方式有两种: 内部脚本:将 JS代码定义在HTML页面中 外部脚本:将 JS代码定义在外部 JS文件中,然后引入到 HTML页面中 2.1 内部脚本 在 HTML 中,JavaScript...也就是 JavaScript 将 HTML 文档的各个组成部分封装为对象。...("div"); /* style:设置元素css样式 innerHTML:设置元素内容 */ //2,遍历数组,获取到每一个 div 元素对象,并修改元素内容...2,遍历数组,通过将 复选框 元素对象的 checked 属性值设置为 true 来改变复选框的选中状态 for (let i = 0; i < hobbys.length; i++) {
HTML+CSS img图片下面产生3px间隙问题 2016.4.25~2016.4.29 核心概念 行元素垂直方向的对齐方式和行块元素转换 参考答案 方法一:设置图片的垂直对齐方式。...方法二:设置父级元素font-size: 0;可以解决这个问题。 方法三:将图片转换为块级元素。转换img行内元素的特性为块元素,设置display: block;可以解决这个问题。...相关知识可以在HTML5学堂官网搜索“form表单”。...autofocus属性规定当页面加载时元素应该自动获得焦点。 相关知识可以在HTML5学堂官网搜索“form表单”。...name属性用于对提交到服务器后的表单进行标识,或者在客户端通过JavaScript 引用表单数据。(只有设置了name属性的表单元素才能在提交表单时传递他们的值)。
事件委托: 如果你想要在大量子元素中单击任何一个都可以运行一段代码,您可以将事件监听器设置在其父节点上,并让子节点上发生的事件冒泡到父节点上,而不是每个子节点单独设置事件监听器。...() { alert('别戳我,我怕疼。')...; } 通过DOM Level 2 Events 函数 addEventListener()关联事件处理器 (只支持到 Internet Explorer 9) 可以在一个元素上多次调用addEventListener...// document.querySelector('html').addEventListener('click', () => { alert('别戳我,我怕疼。')...onfocus 鼠标获得焦点事件 onmousedown 鼠标按下事件 onmouseup 鼠标弹起事件 onload 页面载入完成事件 onsubmit 表单提交事件 : 函数返回true表单提交
三.脚本模型 由于内联模型违反了HTML与JavaScript代码层次分离的原则。为了解决这个问题,我们可以在JavaScript中处理事件。这种处理方式就是脚本模型。...JavaScript事件处理函数及其使用列表 事件处理函数 影响的元素 何时发生 onabort 图像 当图像加载被中断时 onblur 窗口、框架、所有表单对象 当焦点从对象上移开时 onchange...输入框,选择框和文本区域 当改变一个元素的值且失去焦点时 onclick 链接、按钮、表单对象、图像映射区域 当用户单击对象时 ondblclick 链接、按钮、表单对象 当用户双击对象时 ondragdrop...窗口 当用户将一个对象拖放到浏览器窗口时 onError 脚本 当脚本中发生语法错误时 onfocus 窗口、框架、所有表单对象 当单击鼠标或者将鼠标移动聚焦到窗口或框架时 onkeydown 文档、...单击表单的reset按钮 onresize 窗口 当选择一个表单对象时 onselect 表单元素 当选择一个表单对象时 onsubmit 表单 当发送表格到服务器时 PS:所有的事件处理函数都会都有两个部分组成
image 标记语言,是一种将文本以及与文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码。 HTML,为超文本标记语言。...Form表单事件 onblur,当元素失去焦点时触发。 onchange,在元素的元素值被改变时触发。 onfocus,在元素获得焦点时触发。...onreset,当表单中的重载按钮被点击时触发。 onselect,在元素中文本被选中后触发。 onsubmit,在提交表单时触发。...将标签的usemap属性与标签的name属性相关联。 为了证明我学会了,我写一个html页面。...空链接的代码: javascript: void(0)javascript:void(0)"> 列表元素 整合列表
innerHTML :向页面的某个元素中写一段内容,将原有的东西覆盖 1.3 案例分析 ? 1.4 案例实现 步骤1:表单 添加提交事件 ?...使用弹出框进行提示,用户体验不友好,可以将错误提示信息现在在对应的表单元素后面 2. 在编写程序时存在多处重复代码,为了达到代码的重复利用,将进行内容抽取成,编写自定义函数。 ?...第一个校验不通过的元素获得焦点 编写步骤: 1.添加错误提示显示区域 2.表单元素id属性 3.校验不同,给span显示错误信息 4.第一个不通过的获得焦点...var nodeObj = document.createTextNode("xxx"); // * 将文本添加到a元素 aObj.appendChild(nodeObj); //2.2 给a元素设置属性...HTML DOM 将 整个HTML文档呈现成一颗DOM树,树中有元素、属性、文本等成员。 ?
接着进行到目标阶段,执行当前元素对象的事件处理程序,但它会被看成是冒泡阶段的一部分。 最后实现事件的冒泡,逐级对事件进行处理。...1.2 事件的绑定方式 事件绑定指的是为某个元素对象的事件绑定事件处理程序。 行内绑定式 动态绑定式 事件监听式 行内绑定式 事件的行内绑定式是通过HTML标签的属性设置实现的。...由于开发中提倡JavaScript代码与HTML代码相分离。因此,不建议使用行内式绑定事件。 动态绑定式 JavaScript代码与HTML代码混合编写的问题。...例如,单击 标签后,会自动跳转到href属性指定的URL链接;单击表单的submit按钮后,会自动将表单数据提交到指定的服务器端页面处理。因此,我们把标签具有的这种行为称为默认行为。...window.onload = function() { // JavaScript代码 }; 3.2 焦点事件 在Web开发中,焦点事件多用于表单验证功能,是最常用的事件之一。
一、前言 大家好,我是前端进阶者。在Web项目开发中,经常会在表单验证功能看到焦点事件。例如,文本框获取焦点改变文本框的颜色,文本框失去焦点检验输入的文本框的内容是否正确等。...margin-bottom属性表示设置元素的下外边距。 margin-right属性表示设置元素的右外边距。...JavaScript 1.获取元素操作的对象 function $(id){ return document.getElementById(id); } 在上面代码中,$(id)函数用于根据id...检验id为user和pass的元素如果失去焦点,它的value值是不是为空。...2.在JavaScript中首先获取操作元素的对象,给指定元素添加失去焦点事件,之后,检验指定元素失去焦点,它的value值是否为空,检验表单是否为空。最后处理登录按钮的事件。
Form表单事件 onblur,当元素失去焦点时触发。 onchange,在元素的元素值被改变时触发。 onfocus,在元素获得焦点时触发。...onreset,当表单中的重载按钮被点击时触发。 onselect,在元素中文本被选中后触发。 onsubmit,在提交表单时触发。...将标签的usemap属性与标签的name属性相关联。 为了证明我学会了,我写一个html页面。...空链接的代码: javascript: void(0) javascript:void(0)"> 列表元素...属性 说明 border 设置表格的边框宽度 width 设置表格的宽 height 设置表格的高 cellpadding 设置内边距 cellspacing 设置外边距 的两个属性:
常见事件 重点掌握(5) click:单击 focus:获取焦点 blur:失去焦点 submit:表单提交 html> <meta http-equiv="Content-Type"...).blur(function(){ $("#textMsg").html("文本框失去焦点:blur"); }).focus(function(){ $("#textMsg").html("文本框获得焦点...可以在父元素上检测子元素获取焦点的情况 blur和focusout 失去焦点 javascript" src=".....表单序列化 erialize() 将表单中所有内容转成字符串。...所有内容:有name,有值(非空)--文本有数据,单选多选选中,下拉列表选中等 字符串:key=value&key=value&.... serializeArray()将表单中所有内容转成json数组
这种方法的缺点是,现在我们必须对所有按钮进行样式设置,否则用户将无法识别它们。...我们将这个组件称为.btn(就像Bootstrap一样,但我们只设置颜色和大小,以保持简单)。...您的网站或网络应用程序的用户可以使用键盘或虚拟键盘(在iOS和Android上)“”并激活表单域,按钮,链接和其他交互元素。 对于一些用户来说,它可以加速缓慢的交互,比如填写表单。...在我见过的大多数Web项目中,设计师都指定了预期的鼠标移过样式,但未指定焦点样式。 我们应该做什么?...由于它尚未被浏览器实现,我们将不得不使用JavaScript实现,比如有些polyfill。 它在整个页面上运行,并且仅在使用键盘时才将焦点可见的类设置为接收焦点的元素。