一、js的事件处理机制及dom模型
1、js的数据验证
2、dom模型:
(1)什么是dom?
document object model,将一个结构化的文档(比如
xml,html)转化为一棵符合dom要求的树。通过对树的
操作(crud),来间接实现对结构化文档的操作。
(2)浏览器如何显示html文档
浏览器读取html文档,将其转化为w3c dom树(即
一棵对象树)放在内存里。如果dom树的节点发生任
何改变,浏览器就会立即显示这种改变。对w3c dom
树,我们可以使用js来操控。
(3) w3c dom的结构
A.继承关系图
除了Node,Document,Element,HTMLElement
这四个节点以外,其它节点都与html文档中的
元素一一对应。
Node
Document
HTMLDocument(代表整个html文档)
HTMLBodyElement(body)
Element
HTMLElement
HTMLFormElement(form)
HTMLInputElement(input控件,包括 text password button checkbox radio ...)
HTMLSelectElement (下拉列表、多选框)
HTMLOptionElement (option)
HTMLDivElement (div)
HTMLTableElement(表格)
HTMLTableCaptionElement (caption)
HTMLTableRowElement(行)
HTMLTableCellElement(单元格)
HTMLULElement
HTMLOLElement
HTMLLIElement
B.如何访问某个节点
方式一:document.getElementById(id);
依据标记的id查找。
方式二:parentNode previousSibling nextSibling
childNodes firstChild lastChild
因为不同浏览器对dom模型中的空节点支持不一,
所以,以上方法用得不多,尽量使用方式一。
getElementsByTagName(tagName):
依据标签名查找,返回的是一个HTMLCollection。
对于某些节点,可以采用特殊的方式来访问
Form:
elements属性值是一个HTMLCollection
HTMLCollection可以采用如下两种方式访问
form1.elements[0] : 第一个控件
form1.elements['id'/name]: 得到的是
该表单中id或者name对应的控件
elements属性也可以省略不写
document:
forms属性值是一个HTMLCollection
返回当前html文档里的所有表单对象。
C.修改节点
1)value属性
2)innerHTML属性
3)style属性
对于某个节点,可以通过修改其style属性,
来改变其样式。
style属性只能获得内联样式。
4)className
5)src属性
6)options属性(Select)
D、添加节点
创建节点
document.createElement(Tag)
tag:是一个合法的标签名,
比如 document.createElement('div');
document.createTextNode(text)
创建一个字符节点
<div>hello</div>
添加节点
appendChild(node):添加到父节点的
所有子节点的末尾。
insertBefore(newNode,refNode):
将newNode添加到refNode前
replaceChild(newNode,oldNode):
E、删除节点
parentNode.removeChild(node)
3、使用js改变html两个元素的默认行为
对于<form>,默认是当点击 submit按钮,
浏览器会提交该表单的数据。
对于<a href="">test</a>,默认是,当点击链接
之间的内容时,浏览器会跳转到href所指向的地址。
改变方式:
对于表单:如果onsubmit返回值是false,则表单
不会提交。
<form onsubmit="return false;">
....
对于链接
<a href="" onclick="return false;">test</a>
4、Select的常用属性和方法
length
l length 属性可返回下拉列表中选项的数目。
selectedIndex
selectedIndex 属性可设置或返回下拉列表中被选选项的索引号
options
返回包含 <select> 元素中所有 <option> 的一个数组。
如果把 options.length 属性设置为 0,Select 对象中
所有选项都会被清除;
如果 options.length 属性的值比当前值小,出现
在数组尾部的元素就会被丢弃。;
如果把 options[] 数组中的一个元素设置为 null,
那么选项就会从 Select 对象中删除.
onchange
当改变选择时调用。
Option 对象的 selected 属性
true:表示该选项被用户选择了。
false:没有被选择
默认值是false,除非用户选择了该选项。
浏览器只会提交seleccted=true对应的选项。
Option对象表示Select中的某个选项,
text:
value:
可以使用如下语句创建一个Option
var op1 = new Option(text,value);
select.options[1] = op1;
5、表格的常用属性与方法
属性
rows 属性
rows 集合返回表格中所有行的一个数组,该集合
包括 <thead>、<tfoot> 和 <tbody> 中定义的所有行。
tBodies属性
tBodies[] 返回包含表格中所有 tbody 的一个数组。
tFoot属性
返回表格的 TFoot 对象。
tHead属性
返回表格的 THead 对象。
方法
insertRow(index)
insertRow(index) 方法用于在表格中的
指定位置插入一个新行。
返回一个 HTMLRowElement,表示新插入的行。
相当于创建了一个新的 <tr> 标记,并把它插入
表中的指定位置。
新行将被插入 index 所在行之前。若 index
等于表中的行数,则新行将被附加到表的末尾。
deleteRow(index)方法
deleteRow(index) 方法用于从表格删除指定位置的行。
HTMLRowElement对象
属性
cells
cells[] 返回包含行中所有单元格的一个数组
方法
deleteCell方法
deleteCell(index) 方法用于删除表格行中的单元格
insertCell(index)方法
insertCell(index) 方法用于在 HTML 表的一行的
指定位置插入一个空的 <td> 元素。
返回值一个 HTMLCellElement对象,表示新创建
并被插入的 <td> 元素。该方法将创建一个新的
<td> 元素,把它插入行中指定的位置。新单元格
将被插入当前位于 index 指定位置的表元之前。
如果 index 等于行中的单元格数,则新单元格被
附加在行的末尾。后续可以调用TableCell的
innerHTML属性指定单元格中的内容.
6、传统的html dom模型:
1)window
open方法
第二个参数表示窗口名,如果该窗口名对应的窗口
已经打开,则不再打开新的窗口。
打开一个新的窗口,例如:
window.open
('1.html', 'new', 'height=100, width=200, top=0,
left=0, toolbar=no, menubar=no,scrollbars=no,
resizable=no, location=no, status=no');
'1.html' 弹出窗口的文件名;
'new' 弹出窗口的名字;如果该参数指定了一个已经存在的窗口,则 open() 方法不再创建一个新窗口,而只是返回对指定窗口的句柄。
height=100 窗口高度;
width=200 窗口宽度;
top=0 窗口距离屏幕上方的象素值;
left=0 窗口距离屏幕左侧的象素值;
toolbar=no 是否显示工具栏,yes为显示;
menubar 是否显示菜单栏。
scrollbars 是否显示滚动栏。
resizable=no 是否允许改变窗口大小,yes为是 。
location=no 是否显示地址栏,yes为是。
status=no 是否显示状态栏内的信息。
close方法
关闭窗口
返回值为窗口对象句柄
status 属性
设置或返回窗口状态栏中的文本。
document属性
获得Document对象
location属性
获得Location对象
alert方法
弹出一个警告对话框
confirm方法
弹出一个选择对话框,返回用户是否确认。
prompt方法
弹出一个供用户输入信息的对话框,返回用户
输入信息。
setTimeout方法
setTimeout() 方法用于在指定的毫秒数后
调用函数或计算表达式。
clearTimeout方法
clearTimeout() 方法可取消由 setTimeout() 方法
设置的 timeout。
setInterval方法
按照指定的周期(以毫秒计)来调用函数或
计算表达式。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval()
返回的 ID 值可用作 clearInterval() 方法的参数。
clearInterval方法
clearInterval() 方法可取消由 setInterval()
设置的 timeout。
clearInterval() 方法的参数必须是由 setInterval() 返回的 ID
opener:
打开该窗口的窗口对象,如果窗口由
用户打开,则返回null
parent:
当前窗口的父窗口
7、事件处理机制
(1)事件对象
如何获得一个事件对象
ie:
直接使用event对象
ff:
函数中添加一个参数(event)
(2)如何通过事件对象获得事件源
ie:
srcElement属性
ff:
target属性
(3)事件冒泡机制
子节点产生的事件会向上抛给父节点
禁止事件冒泡
e.cancelBubble=true;
(4)事件处理代码绑订的方式
A.绑订到html元素之上。
B.绑订到dom对象之上。
A与B的区别
B这种方式不能传参
8、js框架
prototype
$('id') 相当于 document.getElementById('id');
$F('id'); 相当于
document.getElementById('id').value;
$('id1','id2','id3') 返回一个数组
9、两个内置对象
Date
Math
分享到:
相关推荐
以上内容中包含了对DOM中各种对象的属性和方法的使用,BOM模型的核心对象window及其常用方法,JavaScript中的事件处理机制,包括事件是如何产生的、事件对象的特性以及事件冒泡现象,以及面向对象编程的基础知识,...
为了确保代码的健壮性和跨浏览器兼容性,开发者需要对各种浏览器的事件处理机制有深入的理解,包括DOM0级、DOM2级事件处理以及IE特有事件模型。同时,通过持续实践和测试,可以避免这些低级错误,提高代码质量。在...
jsdom就是基于Node.js的,利用其非阻塞I/O和事件驱动的特性来高效地处理DOM操作。 **DOM**: 文档对象模型 DOM是W3C标准,用于表示XML和HTML文档的一种编程接口。它将文档解析为一棵由节点构成的树形结构,每个节点...
JavaScript事件模型是JavaScript编程中处理用户交互和状态变化的核心机制。事件模型允许程序在特定条件满足时执行预定的代码,比如用户点击按钮、页面加载完成或数据发生变化等。本节将详细探讨JavaScript事件处理...
2. **捕获模型**:与冒泡模型相反,事件首先在最顶层的父节点被处理,然后向下传递到子节点。在DOM中,可以设置事件监听器来捕获事件,但这种方式不太常见。 3. **直接模型**:事件只在目标元素上触发,不会向上或...
#### 五、事件与DOM模型 在DOM(Document Object Model)模型中,不仅仅是传统的HTML元素如按钮、链接、图片可以触发事件,文本也可以作为对象,并且能够响应诸如鼠标双击、文本被选择等事件。然而,不同浏览器对...
在DOM2级事件模型中,可以设置`useCapture`参数决定事件处理顺序。 五、事件对象 每个事件触发时都会创建一个事件对象,其中包含了关于事件的信息,如事件类型、目标元素、鼠标位置等。在事件处理程序中,这个对象...
在JavaScript中,DOM0级事件处理程序是一种早期的事件处理方式,它是在DOM(文档对象模型)规范尚未完全定义事件处理机制时广泛使用的。在DOM0级事件中,事件处理程序的绑定和解绑是通过直接将函数赋值给元素的特定...
DOM0级事件处理是最基础的JavaScript事件处理模型,它允许开发者为DOM元素绑定事件处理函数。在这一级别中,事件处理函数是作为DOM元素的一个私有属性存在的。这意味着,如果尝试为同一元素绑定同一种类型的多个事件...
DOMEvent接口定义了事件处理机制,包括事件类型、事件属性和事件传播模型。这使得开发者可以创建事件监听器,响应用户的输入和页面的状态变化。 #### DOM 样式引用 DOMStyle接口和相关的对象如`...
总结一下,DOM模型是描述HTML或XML文档结构的数据模型,而Prototype是一个JavaScript库,它提供了一套强大的工具来操作DOM,并实现了面向对象编程的特性。通过学习Prototype,开发者可以更高效地进行前端开发,提升...
在IT领域,事件模型是构建用户界面和交互性应用程序的核心机制。...无论是Java的监听器、C#的委托、DOM与JavaScript的事件模型,还是Flex和ActionScript3的事件处理,都是构建现代软件系统不可或缺的工具。
JavaScript DOM事件机制是Web开发中的核心概念之一,它关乎如何响应用户与网页元素的交互。在深入理解这一机制前,我们需要了解三个关键术语:事件流、事件冒泡和事件捕获。 1. 事件流: 事件流描述了事件在HTML...
通过理解JavaScript的对象模型和事件处理机制,开发者可以构建动态、交互性强的网页应用。无论是修改文档内容,还是与浏览器进行高级交互,JavaScript都提供了丰富的工具和API来实现这些功能。因此,熟练掌握这些...
8. **事件处理**:JavaScript通过DOM提供了事件处理机制。`addEventListener`和`removeEventListener`用于添加和移除事件监听器,`dispatchEvent`用来触发事件。同时,理解事件冒泡和事件捕获的概念也很重要。 9. *...
接着,书中会详细讲解DOM模型,包括节点的概念、节点类型、遍历DOM树的方法以及常见的DOM操作,如创建、删除、修改元素。DOM允许开发者通过JavaScript访问和修改HTML文档的每一个部分,例如,可以通过选取特定的DOM...
JavaScript操作XML DOM对象是Web开发中的重要技能,尤其在处理数据交换、页面动态更新和跨平台通信时。本文将深入探讨这一主题,并结合JavaScript技巧,为开发者提供一个全面的指导。 1. **DOM(文档对象模型)基础...
《JavaScript DOM编程艺术》这本书虽然只有四章内容,但涵盖了DOM的基础概念、操作技术、事件处理以及高级编程技术等多个方面,对于想要深入了解DOM操作的开发者来说是非常宝贵的资源。通过学习这些知识点,开发者...