js回顾第二阶段
来源:互联网 发布:教师赚钱软件 编辑:程序博客网 时间:2024/06/08 15:49
对于IE,解决方案是使用事件冒泡技术,其基本思想是,时间从时间发生的目标最内部开始触发,向上触发到最外部(document对象)。
时间捕获:
时间捕获于冒泡正好相反,它的事件触发顺序是从最外层的对象(document对象)到最里层的对象。事件捕获也可以window级时间,但是需要开发者显示指定。
DOM事件流:
DOM同时支持事件捕获和事件冒泡,但是事件捕获先发生。两个事件流可以遍历DOM中的所有对象,起点和结束点位document对象。
传统事件处理程序指派方法:
传统的时间处理程序指派方法采用两种方式之一将事件程序指派给时间:在JS中或在HTML中。
事件处理程序的名称必须全部小写。
如果要在XHTML中指派事件处理程序,我们只需要在XHTML标记中添加一个事件处理属性,并且将恰在的脚本代码做为属性值。必须注意:在XHTML中,无论是采用哪种指派方式,事件处理程序的名称必须全部是小写字母。
现代事件处理程序指派方法:
在IE中,每个元素和window对象有两个方法:attachEvent()和detachEvent()。
attachEvent()用于将一个事件处理程序绑定到一个事件,而另一个用于解除事件程序的绑定。这两个方法都有两个参数:要指派的事件处理程序的名称、函数名称。
DOM中使用addEventListener()和removeEventListener()方法完成事件处理程序指派和删除的任务。这两种方法有三个参数,分别是事件的名称、要指派的函数、是否处理程序要用在冒泡或捕获阶段。如果处理程序要用在捕获阶段,第三个参数就设为true;如果要用在冒泡阶段,这个参数就设为false。
如果事件处理程序是在捕获阶段用addEventListener()添加,那么要正确删除事件处理程序,就必须在removeEventListener()中指定捕获阶段。
事件处理程序的返回值:
事件处理程序的最有用的功能之一就是它们的返回值可以影响事件的默认行为。所谓默认行为是事件发生时,不需要进行处理,就会正常发生的行为。
Event对象:
触发事件的对象
事件发生时的鼠标信息
事件发生时的键盘信息
定位:
在IE浏览器中,event对象是window对象的一个属性。
DOM标准中规定:event对象只能做为仅有的参数传给事件处理程序。
鼠标事件:
click——用户点击鼠标左键,以及当焦点在一个按钮上,用户按Enter键时,发生click事件
dblclick——当用户双击鼠标左键时,发生dblclick事件
mousedown——当用户按下任意鼠标按钮时,发生mousedown事件
mouseout——当光标在一个元素上,并且将其移除元素边界时,发生mouseout事件
mouseover——当光标在一个元素之外,并且用户将其移动到该元素上时,发生mouseover事件
mouseup——当用户释放任何鼠标按钮时,发生mouseup事件
mousemove——当光标在一个元素上时,重复发生mousemove事件
事件属性:坐标属性;type属性;target(DOM)或srcElement(IE)属性;shiftKey,ctrlKey,altKey,metaKey(DOM)属性;button属性(只在mousedown,mousemove,mouseout,mouseover和mouseup事件)
事件发生顺序:1.mousedown 2.mouseup 3.click 4.mousedown 5.mouseup ...
键盘事件:
keydown——当用户在键盘上按下一个键时发生。如果用户按住键不放,它就重复发生
keypress——当用户在键盘上按下一个字符键(不包括Shift和Ait键等)时发生。如果用户按住键不放,它也重复发生
keyup——当用户释放一个按下的键时发生
事件属性:keyCode属性;charCode属性;target(DOM)或srcElement(IE)属性;shiftKey,ctrlKey,altKey和metaKey(DOM)属性
事件发生次序:当用户按下一个字符键一次时:1.keydown 2.keypress 3.keyup 当用户按下一个非字符键(如Shift键)一次时:1.keydown 2.keyup
HTML事件
load事件
unload事件
abort事件
error事件
select事件
change事件
submit事件
reset事件
resize事件
scroll事件
focus事件
blur事件
js表单编程:
对form元素进行脚本编写:
获取表单的引用:使用DOM树种定义一个元素的方法;使用文档的表单集合,并且通过表单在forms集合中的位置或者通过name属性。
每个表单字段都包含在表单的elements集合中。
所有的表单字段(除了隐藏手段)有如下共同的属性、方法和事件:
disabled属性:该属性用于只是一个表单控件是否可用。一个disabled控件不允许用户输入
form属性:该属性返回包含字段的表单
blur()方法:该方法导致表单字段失去焦点
focus()方法:该方法导致表单字段获得焦点
blur时间:当表单字段失去焦点时,发生该时间,随后执行onblur时间处理程序
focus时间:当表单字段获得焦点时,发生该时间,随后执行onfocus时间处理程序
当用户点击这些按钮或者在按钮上按回车键时,表单就被提交,不需要任何附加代码。我们可以在表单的action属性上使用一个警告对话框来测试表单是否提交。这种方法将表单提交给JS函数,仅仅弹出一个警告对话框。如果我们不想使用按钮提交表单,可以使用表单的submti()方法。
表单重置效果,如今基本上是没有使用了,所以不做详解,喜欢的朋友可以自己去了解下。
表单验证是JS最常用、最有用的功能之一。在表单内容提交之前进行验证,可以降低服务器处理器的压力,缩短用户等待的时间。
表单校验中捕获表单录入错误的时间有三种可能的选择:在错误发生之前(组织错误发生);当错误发生时;在错误发生之后
访问表单的方法至少有四种:
使用document.forms[表单索引号]
使用document.forms["表单名"]
使用document.表单名
在支持DOM的浏览器中,使用document.getElementById("表单 id")
- js回顾第二阶段
- 第二阶段
- 第二阶段
- 第二阶段
- 第二阶段
- 第二阶段
- 第二阶段
- 第二阶段
- jsday05(js回顾 dom回顾)
- js事件知识回顾
- 20150927js学习回顾
- js数据类型回顾
- js回顾第一阶段
- js回顾第三阶段
- 20170622 js回顾
- js练习表回顾
- js基础回顾
- 原生js回顾
- Android ListView异步加载图片乱序问题,原因分析及解决方案
- 二叉树的性质以及二叉查找树的基本操作
- 【杭电2112】HDU Today
- 个人感慨
- 继续树莓派GPIO:两片74HC595控制一个8x8LED点阵显示爱心
- js回顾第二阶段
- 编程的数学类似艺术
- java生成带有样式、表格、不定图片的word
- 数据结构实验之栈八:栈的基本操作
- 闭包的理解(精简)
- 守护进程
- 求sin的泰勒展开式
- return在try-catch-finally中的执行
- remote分页使用注意