1.测试是否是IE
var isIE = document.all && window.external; (据说是比较安全的做法)
2.event 对像(这个比较简单,只列出常用的属性)。
event 对像保存的是上一次事件发生的状态,常用的属性有
clientX、clientY 事件发生时鼠标指针的坐标。(返回值为数值)
button 哪个鼠标按键被点击(IE:1|4|2 左|中|右,非IE:0|1|2 左|中|右)
altKey、ctrlKey、shiftKey 哪个键被按下了
srcElement、target 触发事件的节点(元素),前者为IE,后者为非IE。
toElement、fromElement 移入鼠标的元素、移出鼠标的元素(mouseover 和 mouseout 事件,只IE适用)
relatedTarget 对于 mouseover 事件来说,该属性是鼠标指针移到目标节点 上时所离开的那个节点。对于 mouseout 事件来说,该属性是离开目标时,鼠标指针进入的节点。(非IE适用)
x,y 事件发生的位置的 x 坐标和 y 坐标,它们相对于用CSS动态定位的最内层包容元素
type 事件类型(mousemove,mouseover等)
3.获取节点
oElement = document . getElementById ( sID )
oElements = document . getElementsByName ( sName )
arrElements = object . getElementsByTagName ( sTagName )
oElements = object . tags ( sTagName ) sTagname 为标记名,如 "table"、"div"
oElement = document . elementFromPoint ( iX , iY ) iX 、iY 提供的坐标是客户区坐标,客户区的左上角为 (0,0)。
IE下还可以用 document.all.id 或 document.all("id")方法获取节点
4.节点(element)操作
4.1 创建节点 oElement=document.createElement(节点类型)
4.2 添加节点(把节点加入到DOM链)
1. oElement = 父节点.appendChild (新创建的节点)
2. 父节点.applyElement(新创建的节点,sWhere) 其中sWhere取值为 outside|inside outside:默认值。将 oElement 添加为 object 的父对象。inside:将 oElement 添加为 object 的子对象。但 oElement 将成为 object 的原所有子对象的父对象。
3. oElement = object . insertAdjacentElement ( sWhere , oElement )
插入邻近节点,sWhere 取值beforeBegin:将 oElement 插到 object 的开始标签之前。afterBegin:将oElement 插到 object 的开始标签之后。但是在 object 的所有原有内容之前。 beforeEnd : 将oElement 插到 object 的结束标签之前。但是在 object 的所有原有内容之后。 afterEnd:将oElement 插到 object 的结束标签之后。
4. oElement = object . insertBefore ( oNewNode , oChildNode )
插入到某个子节点(oChildNod)前面,oChildNode可为空,此时插入到最后一个子节点后面黄
4.3 删除节点
1. 节点数组.remove(节点索引) 从节点数组中删除对应节点索引的对象。
2. object.removeNode(bRemoveChildren) 删除object节点,bRemoveChildren是否删除子节点
3. object.removeChild(子节点) 删除子节点
4.4 替换节点
1. oElement = object . replaceNode ( oNewNode )
2. oElement = object . replaceChild ( oNewNode , oChild )
4.5 交换节点
object . swapNode ( oNode ) object 与 oNode 交换
4.6 复制节点
oElement = object . cloneNode ( bCloneChildren ) bCloneChildren 是否包括子节点
4.7 是否包含节点
bFound = object . contains ( oElement ) 返回是否object包含oElement
4.8 是否有子节点
bChildNodes = object . hasChildNodes()
4.9 Select下的Options操作
添加 oSelect.options.add (option,iIndex)
5.节点属性操作
object . setAttribute ( sName , vValue , iFlags ) sName,属性名;iFlags,0|1,是否区分大小写
vAttrValue = object . getAttribute ( sAttrName , iFlags ) iFlags,0|1,是否区分大小写
bSuccess = object . removeAttribute ( sName,iCaseSensitive ) iCaseSensitive,0|1,是否区分大小写
object . clearAttributes () 清除所有持久性属性
object . mergeAttributes ( oSource , bPreserve ) 从oSource复制所有可读写属性到object,若bPreserve为true不复制id,name
6.窗口操作
popup . show ( iX , iY , iWidth , iHeight , oElement )
oPopup = window . createPopup ( vArgs )
popup . hide ()
bConfirmed = window . confirm ( sMessage )
oNewWindow = window . open ( sURL , sName , sFeatures , bReplace )
vReturnValue = window . showModalDialog ( sURL , vArguments , sFeatures )
vReturnValue = window . showModelessDialog ( sURL , vArguments , sFeatures )
window . resizeBy ( iX , iY )
window . resizeTo ( iWidth , iHeight )
7.其它常用
location . assign ( sURL ) 加载一个新的HTML文档到当前窗口。(同location="sURL")
object . blur () 失去焦点
object . focus () 焦点
object . click () 模拟点击
window . close () 关闭窗口
bSuccess = object . execCommand ( sCommand , bUserInterface , vValue ) 执行命令,常用的命令有copy、paste、Delete、Cut、Unselect、SelectAll、SaveAs、print