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")


0 0
原创粉丝点击