JavaScript+总结(四)

10 DOM

DOM“Document Object Model”(文档对象模型)的首字母缩写

 

1)访问节点:

访问html元素:var oHtml=document.documentElement;
获取head元素:
varoHead=oHtml.firstChild;
获取body元素:varoBody=oHtml.lastChild; 或者 var oBody=document.body;

2)检测节点类型

通过节点的nodeType属性来检验节点类型:
alert(document.nodeType); //输出9

各常量名称与数值对照表如下:

                              ELEMENT_NODE                                 1
ATTRIBUTE_NODE                               2
TEXT_NODE                                          3
CDATA_SECTION_NODE                   4
ENTITY_REFERENCE_NODE             5
ENTITY_NODE                                      6
PROCESSING_INSTRCTION_NODE      7
COMMENT_NODE                               8
DOCUMENT_NODE                              9
DOCUMENT_TYPE_NODE                 10
DOCUMENT_FRAGMENT_NODE      11
NOTATION_NODE                              12

 

3)访问指定节点

 

1、   getElementsByTagName()获取标签名

2 getElementsByName() 获取name特性等于指定值的元素;获取标签的名称

<inputtype="radio" name="redColor" value="red" />

<scripttype="text/javascript">

var d =document.getElementsByName("redColor");

document.write(d[0].getAttribute("value"));

</script>

3、   getElementById() 返回id特性等于指定的元素;

 

4)创建和操作节点:

一张IE(6.0)和FF对DOM Level1的创建新节点方法支持的对照表:

方法                                                             IE                               FF
createAttribute(name)                                 Y                                Y
createCDATASection(text)                         
N                                Y
createComment(text)                                   Y                                Y
createDocumentFragment()                       Y                                 Y
createElement(tagName)                            Y                                 Y
createEntityReference(name)                     N                                 Y
createProcessingInstruction(target,data)           Y                                     N 
createTextNode(text)                                  Y                                   Y

 

createElement()   创建标签元素

createTextNode()  创建文本节点

appendChild()     把文本节点追加到标签元素中

removeChild()   删除节点

replaceChild()    替换节点

insertBefore()    插入节点

 

注意:replaceChild和insertBefore两个参数都是新节点在前,旧节点在后。

 

5Table方法

6)遍历DOM

NodeIterator

TreeWalker

 

11事件

冒泡型事件:从最特定的事件目标到最不特定的事件目标的顺序触发;

捕获型事件:从最不确定的对象触发,然后到最精确;

事件处理函数/监听函数:

 

Click 点击   load  载入   mouseover  鼠标经过

 

用于相应某个事件而调用的函数称为事件处理函数;

事件处理函数必须为小写,才能正确响应事件;

 

attacheEvent 函数:事件处理函数添加;

detachEvent 函数:在事件处理函数中查找指定的函数,并移除它;

DOM addEventListener() :分配事件处理函数;

DOM removeEventListener() :移除事件处理函数

DOM 方法必须三个参数:事件名称,要分配的函数,处理函数的冒泡阶段和捕获阶段,如果是用在捕获阶段,第三个参数为true;用于冒泡阶段,则为false

 

事件类型(不在展开描述,掌握鼠标事件即可,其他的可参考js内置对象):

鼠标事件

键盘事件

Html事件

变化事件

跨平台事件

表单事件:

访问表单字段(id)document.getElementById()

聚焦:forcus()

提交表单:submit()

重置表单:reset()

选择文本:select()

自动切换到下一个输入框:tabForward()

限制textarea的字符数:isNotMax()

禁止粘贴:onpaste

创建自动提示的文本框

 

12拖放

 

拖放事件:

 

dragstart

drag

dragend

 

放置鼠标事件:

dragenter ——dragover ——dragleave——drop

 

数据传输对象:dataTransfer

getData() 获取 setData() 存储的值

dropEffect

effectAllowed

dragDrop()方法:初始化系统拖放事件

zDragDrop模拟拖放过程对象,需要下载zdragdroplib.js

 

附:鼠标事件

一般事件

事件

浏览器支持

描述

onClick

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE3 | N2 | O3 

鼠标点击事件,多用在某个对象控制的范围内的鼠标点击

onDblClick

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE4 | N4 | O 

鼠标双击事件

onMouseDown

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE4 | N4 | O 

鼠标上的按钮被按下了

onMouseUp

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE4 | N4 | O 

鼠标按下后,松开时激发的事件

onMouseOver

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE3 | N2 | O3 

当鼠标移动到某对象范围的上方时触发的事件

onMouseMove

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE4 | N4 | O 

鼠标移动时触发的事件

onMouseOut

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE4 | N3 | O3 

当鼠标离开某对象范围时触发的事件

onKeyPress

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE4 | N4 | O 

当键盘上的某个键被按下并且释放时触发的事件.[注意:页面内必须有被聚焦的对象]

onKeyDown

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE4 | N4 | O 

当键盘上某个按键被按下时触发的事件[注意:页面内必须有被聚焦的对象]

onKeyUp

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE4 | N4 | O 

当键盘上某个按键被按放开时触发的事件[注意:页面内必须有被聚焦的对象]

页面相关事件

事件

浏览器支持

描述

onAbort

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE4 | N3 | O 

图片在下载时被用户中断

onBeforeUnload

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE4 | N | O 

当前页面的内容将要被改变时触发的事件

onError

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE4 | N3 | O 

捕抓当前页面因为某种原因而出现的错误,如脚本错误与外部数据引用的错误

onLoad

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE3 | N2 | O3 

页面内空完成传送到浏览器时触发的事件,包括外部文件引入完成

onMove

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE | N4 | O 

浏览器的窗口被移动时触发的事件

onResize

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE4 | N4 | O 

当浏览器的窗口大小被改变时触发的事件

onScroll

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE4 | N | O 

浏览器的滚动条位置发生变化时触发的事件

onStop

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O

浏览器的停止按钮被按下时触发的事件或者正在下载的文件被中断

onUnload

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE3 | N2 | O3 

当前页面将被改变时触发的事件

表单相关事件

事件

浏览器支持

描述

onBlur

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE3 | N2 | O3 

当前元素失去焦点时触发的事件 [鼠标与键盘的触发均可]

onChange

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE3 | N2 | O3 

当前元素失去焦点并且元素的内容发生改变而触发的事件 [鼠标与键盘的触发均可]

onFocus

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE3 | N2 | O3 

当某个元素获得焦点时触发的事件

onReset

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE4 | N3 | O3 

当表单中RESET的属性被激发时触发的事件

onSubmit

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE3 | N2 | O3 

一个表单被递交时触发的事件

滚动字幕事件

事件

浏览器支持

描述

onBounce

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE4 | N | O 

在Marquee内的内容移动至Marquee显示范围之外时触发的事件

onFinish

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE4 | N | O 

当Marquee元素完成需要显示的内容后触发的事件

onStart

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE4 | N | O 

当Marquee元素开始显示内容时触发的事件

编辑事件

事件

浏览器支持

描述

onBeforeCopy

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O 

当页面当前的被选择内容将要复制到浏览者系统的剪贴板前触发的事件

onBeforeCut

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O 

当页面中的一部分或者全部的内容将被移离当前页面[剪贴]并移动到浏览者的系统剪贴板时触发的事件

onBeforeEditFocus

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O

当前元素将要进入编辑状态

onBeforePaste

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O 

内容将要从浏览者的系统剪贴板传送[粘贴]到页面中时触发的事件

onBeforeUpdate

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O 

当浏览者粘贴系统剪贴板中的内容时通知目标对象

onContextMenu

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O

当浏览者按下鼠标右键出现菜单时或者通过键盘的按键触发页面菜单时触发的事件 [试试在页面中的<body>中加入onContentMenu="return  false"就可禁止使用鼠标右键了]

onCopy

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O 

当页面当前的被选择内容被复制后触发的事件

onCut

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O 

当页面当前的被选择内容被剪切时触发的事件

onDrag

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O 

当某个对象被拖动时触发的事件 [活动事件]

onDragDrop

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE | N4 | O 

一个外部对象被鼠标拖进当前窗口或者帧

onDragEnd

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O 

当鼠标拖动结束时触发的事件,即鼠标的按钮被释放了

onDragEnter

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O 

当对象被鼠标拖动的对象进入其容器范围内时触发的事件

onDragLeave

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O 

当对象被鼠标拖动的对象离开其容器范围内时触发的事件

onDragOver

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O 

当某被拖动的对象在另一对象容器范围内拖动时触发的事件 [活动事件]

onDragStart

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE4 | N | O 

当某对象将被拖动时触发的事件

onDrop

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O 

在一个拖动过程中,释放鼠标键时触发的事件

onLoseCapture

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O 

当元素失去鼠标移动所形成的选择焦点时触发的事件

onPaste

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O 

当内容被粘贴时触发的事件

onSelect

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE4 | N | O 

当文本内容被选择时的事件

onSelectStart

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE4 | N | O 

当文本内容选择将开始发生时触发的事件

数据绑定

事件

浏览器支持

描述

onAfterUpdate

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE4 | N | O

当数据完成由数据源到对象的传送时触发的事件

onCellChange

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O

当数据来源发生变化时

onDataAvailable

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE4 | N | O

当数据接收完成时触发事件

onDatasetChanged

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE4 | N | O

数据在数据源发生变化时触发的事件

onDatasetComplete

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE4 | N | O

当来子数据源的全部有效数据读取完毕时触发的事件

onErrorUpdate

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE4 | N | O

当使用onBeforeUpdate事件触发取消了数据传送时,代替onAfterUpdate事件

onRowEnter

HTML: 2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O

当前数据源的数据发生变化并且有新的有效数据时触发的事件

onRowExit

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O

当前数据源的数据将要发生变化时触发的事件

onRowsDelete

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O

当前数据记录将被删除时触发的事件

onRowsInserted

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O

当前数据源将要插入新数据记录时触发的事件

外部事件

事件

浏览器支持

描述

onAfterPrint

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O

当文档被打印后触发的事件

onBeforePrint

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O

当文档即将打印时触发的事件

onFilterChange

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE4 | N | O

当某个对象的滤镜效果发生变化时触发的事件

onHelp

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE4 | N | O

当浏览者按下F1或者浏览器的帮助选择时触发的事件

onPropertyChange

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE5 | N | O

当对象的属性之一发生变化时触发的事件

onReadyStateChange

HTML:  2 | 3 | 3.2 | 4 
  Browser: IE4 | N | O

当对象的初始化属性值发生变化时触发

 

你可能感兴趣的:(JavaScript+总结(四))