??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲最大成人网色香蕉,亚洲中文字幕视频国产,亚洲砖码砖专无区2023http://www2.blogjava.net/jackstudio/category/11663.htmlzh-cnWed, 28 Feb 2007 19:49:22 GMTWed, 28 Feb 2007 19:49:22 GMT60CSS和DOM属性用法速查手册 http://www.tkk7.com/jackstudio/archive/2006/05/31/49197.htmljackstudiojackstudioWed, 31 May 2006 03:04:00 GMThttp://www.tkk7.com/jackstudio/archive/2006/05/31/49197.htmlhttp://www.tkk7.com/jackstudio/comments/49197.htmlhttp://www.tkk7.com/jackstudio/archive/2006/05/31/49197.html#Feedback0http://www.tkk7.com/jackstudio/comments/commentRss/49197.htmlhttp://www.tkk7.com/jackstudio/services/trackbacks/49197.html:active 讄当链接处于激zȝ态时 a 元素的样式。 
:first-letter 在对象的W一个字W上应用一个或多个样式。 
:first-line 在对象的W一行上应用一个或多个样式。 
:hover 讄当用户将鼠标指针悬停在链接上时 a 元素的样式。 
:link 讄当链接最q没有访问过时 a 元素的样式。 
:visited 讄当链接最q访问过时 a 元素的样式。 
@charset 讄外部样式表的字符集。 
@font-face 讄要嵌入 HTML 文档的字体。 
@import 导入一个外部样式表。 
@media 讄 styleSheet 对象中一l规则的媒体cd。 
@page 讄 styleSheet 中页面框的尺寸、方向和边距。 
abbr 讄或获取对象的~写文本。 
accelerator 讄或获取表明对象是否包含快捷键的字W串。 
accept 讄或获取以逗号分隔的内容类型列表。 
acceptCharset 讄或获取处理表单的服务器必L受的输入数据所用的字符~码方式列表。 
accessKey 讄或获取对象的快捷键。 
action 讄或获取表单内容要发送处理的 URL。 
activeElement 获取当父 document 拥有焦点时获得焦点的对象。 
additive 讄或获取表明动L否附加到其它动画的倹{ 
align 讄或获取对象针对其L文本如何排列。 
align 讄或获取标题或标志的排列。 
align 讄或获取表格排列。 
align 讄或获取对象相对于昄或表格的排列方式。 
aLink 讄或获取元素中所有激z链接的颜色。 
alinkColor 讄或获取元素中所有激z链接的颜色。 
allowTransparency 讄或获取对象是否可为透明。 
alt 讄或获取用于替代图像的文本。 
altHTML 讄可选的若对象装载失败时要执行的替换 HTML 脚本。 
altKey 讄或获取 Alt 键的状态。 
altLeft 讄或获取左 Alt 键的状态。 
appCodeName 获取览器的代码名称。 
APPLICATION 表明对象的内Ҏ否ؓ HTML 应用E序(HTA)Q从而免除浏览器的安全模型。 
appMinorVersion 获取应用E序的次版本倹{ 
appName 获取览器的名称。 
appVersion 获取览器运行的q_和版本。 
archive 讄或获取可用于实现对象的你自己的 archive 功能的字W串。 
ATOMICSELECTION 指定元素及其内容是否必须以一不可见单位统一选择。 
autocomplete 讄或获取对象的自动完成状态。 
availHeight 获取pȝ屏幕的工作区域高度,排除 Microsoft? Windows? d栏。 
availWidth 获取pȝ屏幕的工作区域宽度,排除 Windows d栏。 
axis 讄或获取以逗号分隔的与对象兌的概念分cd表。 
background 讄或获取对象最多五个独立的背景属性。 
background 讄或获取页面上文本和图像后q铺的背景图片。 
background 讄或获取对象中文本和图像后q铺的背景图片。 
backgroundAttachment 讄或获取背景图像如何附加到文档内的对象中。 
backgroundColor 讄或获取对象内容后的颜艌Ӏ 
backgroundImage 讄或获取对象的背景囑փ。 
backgroundPosition 讄或获取对象背景的位置。 
backgroundPositionX 讄或获取 backgroundPosition 属性的 x 坐标。 
backgroundPositionY 讄或获取 backgroundPosition 属性的 y 坐标。 
backgroundRepeat 讄或获取对象的 backgroundImage 属性如何^铺。 
balance 讄或获取表明背景声音的音量如何分配在左x声器的倹{ 
Banner 使用 event 对象获取高񔋹重定向?ASX)文g中项目的 Banner 内容。 
BannerAbstract 获取 ASX 文g的 BannerAbstract 内容。 
BaseHref 获取可找到对象标{ URL 字符丌Ӏ这通常是对象所在文档的 hrefQ或者由 base 元素讄的倹{ 
behavior 讄或获取文本如何在字幕中滚动。 
behavior 讄或获取 DHTML 行ؓ的位|。 
BGCOLOR 讄对象后面的背景颜艌Ӏ 
bgColor 不推荐。设|或获取对象后面的背景颜艌Ӏ 
bgColor 不推荐。设|或获取表明对象后面的背景颜色的倹{ 
bgProperties 讄或获取背景图片的属性。 
blockDirection 获取表明块元素内容的l排方向的|是由左至叻Iq是由右臛_。 
border 讄或获取绘制对象周围边框的属性。 
border 讄或获取框枉的空_包括 3D Ҏ。 
border 讄或获取绘制对象周围边框的宽度。 
borderBottom 讄或获取对象下Ҏ的属性。 
borderBottomColor 讄或获取对象下Ҏ的颜艌Ӏ 
borderBottomStyle 讄或获取对象下Ҏ的样式。 
borderBottomWidth 讄或获取对象下Ҏ的宽度。 
borderCollapse 讄或获取表明表D和单元格Ҏ是组合ؓ单一Ҏq是像标准 HTML 那样分离。 
borderColor 讄或获取对象的Ҏ颜色。 
borderColor 讄或获取对象的Ҏ颜色。 
borderColorDark 讄或获取用于绘制对象 3D Ҏ的两U颜色的一U。 
borderColorLight 讄或获取用于绘制对象 3D Ҏ的两U颜色的一U。 
borderLeft 讄或获取对象左Ҏ的属性。 
borderLeftColor 讄或获取对象左Ҏ的颜艌Ӏ 
borderLeftStyle 讄或获取对象左Ҏ的样式。 
borderLeftWidth 讄或获取对象左Ҏ的宽度。 
borderRight 讄或获取对象右Ҏ的属性。 
borderRightColor 讄或获取对象右Ҏ的颜艌Ӏ 
borderRightStyle 讄或获取对象右Ҏ的样式。 
borderRightWidth 讄或获取对象右Ҏ的宽度。 
borderStyle 讄或获取对象上下左双框的样式。 
borderTop 讄或获取对象上Ҏ的属性。 
borderTopColor 讄或获取对象上Ҏ的颜艌Ӏ 
borderTopStyle 讄或获取对象上Ҏ的样式。 
borderTopWidth 讄或获取对象上Ҏ的宽度。 
borderWidth 讄或获取对象上下左双框的宽度。 
bottom 讄或获取围l对象内容的矩Ş下边坐标。 
bottom 讄或获取对象相对于文档层次中下个定位对象的底部的位|。 
bottomMargin 讄或获取整个页面主体的底部边距。 
boundingHeight 获取l定 TextRange 对象的矩形的高度。 
boundingLeft 获取l定 TextRange 对象的矩形左边缘和包含 TextRange 对象的左侧之间的距离。 
boundingTop 获取l定 TextRange 对象的上边缘和包含 TextRange 对象的顶边之间的距离。 
boundingWidth 获取l定 TextRange 对象的矩形的宽度。 
browserLanguage 获取览器的当前语言。 
bufferDepth 讄或获取用于画面外位图~冲颜色的每像素位数。 
button 讄或获取用h按的鼠标按钮。 
cancelBubble 讄或获取当前事件是否要在事件句柄中向上冒。 
canHaveChildren 获取表明对象是否可以包含子对象的倹{ 
canHaveHTML 获取表明对象是否可以包含丰富的 HTML 标签的倹{ 
caption 获取表格的 caption 对象。 
cellIndex 获取对象于所在行的 cells 集合中的位置。 
cellPadding 讄或获取介于单元格Ҏ和单元格内容之间的空间总量。 
cellSpacing 讄或获取表g单元g间的I间总量。 
ch 讄或获取可用于实现对象的你自己的 ch 功能的字W串。 
charset 讄或获取用于解码对象的字符集。 
checked 讄或获取复选框或单选钮的状态。 
chOff 讄或获取可用于实现对象的你自己的 chOff 功能的字W串。 
cite 讄或获取关于 对象的参考信息。 
classid 讄或获取对象的cL识符。 
className 讄或获取对象的cR 
clear 讄或获取对象是否允许在其左侧、右侧或两边攄动对象Q以防下D|本显C在动对象上。 
clear 讄或获取当在文档中插入换行W后动对象在哪边不能定位。 
clientHeight 获取对象的高度,不计Q何边距、边框、滚动条Q但包括该对象的补白。 
clientLeft 获取 offsetLeft 属性和客户区域的实际左边之间的距离。 
clientTop 获取 offsetTop 属性和客户区域的实际顶端之间的距离。 
clientWidth 获取对象的宽度,不计Q何边距、边框、滚动条Q但包括该对象的补白。 
clientX 讄或获取鼠标指针位|相对于H口客户区域的 x 坐标Q其中客户区域不包括H口自n的控件和滚动条。 
clientY 讄或获取鼠标指针位|相对于H口客户区域的 y 坐标Q其中客户区域不包括H口自n的控件和滚动条。 
clip 讄或获取定位对象的哪个部分可见。 
clipBottom 获取对象剪裁区域的底边坐标。 
clipLeft 获取对象剪裁区域的左边坐标。 
clipRight 获取对象剪裁区域的右边坐标。 
clipTop 获取对象剪裁区域的顶边坐标。 
closed 获取引用H口是否已关闭。 
code 讄或获取包含已~译的 Java cȝ文g的 URL。 
codeBase 讄或获取组件的 URL。 
codeType 讄或获取于对相兌代码的 Internet 媒体cd。 
color 讄或获取 mpc 行ؓ的容器文本颜艌Ӏ 
color 讄或获取对象所使用的颜艌Ӏ 
color 讄或获取对象文本的颜色。 
colorDepth 获取用于目标讄或缓冲区的颜色每像素位数。 
cols 讄或获取对象的宽度。 
cols 讄或获取表格的列数。 
cols 讄或获取对象的框架宽度。 
colSpan 讄或获取对象应该跨的表格列数。 
compact 讄或获取表明列表是否应该通过删除列表对象间的额外I白来压~的 Boolean 倹{ 
compatMode 讄或获取表明此对象是否应用标准兼容模式的倹{ 
complete 获取对象是否已完全装入。 
content 讄或获取与 HTTP-EQUIV 或 NAME 兌的资源信息。 
contentEditable 讄或获取表明用h否可~辑对象内容的字W串。 
contentOverflow 获取表明文档处理当前 LayoutRect 对象后是否包含附加的内容。 
contentWindow 获取指定的 frame 或 iframe 的 window 对象。 
cookie 讄或获取 cookie 的字W串倹{ 
cookieEnabled 获取客户端的怹 cookie 是否在浏览器中启用。永久 cookie 是储存在客户端计机上的。 
coords 讄或获取对象的坐标。 
Count 获取可用块格式化标签的数量。 
cpuClass 获取指示 CPU {的字W串。 
cssText 讄或获取样式规则的怹表述。 
ctrlKey 讄或获取 Ctrl 键的状态。 
ctrlLeft 讄或获取左 Ctrl 键的状态。 
cursor 讄或获取当鼠标指针指向对象时所使用的鼠标指针。 
data 讄或获取引用对象数据的 URL。 
data 讄或获取 TextNode 对象的倹{ 
dataFld 讄或获取由 dataSrc 属性指定的l定到指定对象的l定数据源的字段。 
dataFld 讄或获取 oncellchange 事g影响的数据列。 
DATAFLD 讄用于数据l定的给定数据源的字Dc 
dataFormatAs 讄或获取如何渲染提供给对象的数据。 
DATAFORMATAS 讄或获取将提供l对象的数据渲染为文本还是 HTML。 
dataPageSize 讄或获取绑定到数据源的表格中显C的记录数。 
dataSrc 讄或获取用于数据绑定的数据源。 
DATASRC 讄用于数据l定的数据源。 
dateTime 讄或获取修改对象的日期和时间。 
declare 讄或获取可用于实现对象的你自己的 declare 功能的字W串。 
defaultCharset 从当前的区域语言中获取缺省字W集。 
defaultChecked 讄或获取复选框或单选钮的状态。 
defaultSelected 讄或获取选项的状态。 
defaultStatus 讄或获取要在窗口底部的状态栏上显C的~省信息。 
defaultValue 讄或获取对象的初始内容。 
defer 讄或获取脚本的状态。 
designMode 讄或获取表明文档是否可被编辑的倹{ 
deviceXDPI 讄或获取系l屏q水qx英寸Ҏ(DPI)的数倹{ 
deviceYDPI 讄或获取系l屏q垂直每英寸Ҏ(DPI)的数倹{ 
dialogArguments 讄或获取传递给模式对话框窗口的变量或变量数l。 
dialogHeight 讄或获取模式对话框的高度。 
dialogLeft 讄或获取模式对话框的左坐标。 
dialogTop 讄或获取模式对话框的顶坐标。 
dialogWidth 讄或获取模式对话框的宽度。 
dir 讄或获取对象的阅读序。 
direction 讄或获取文本滚动的方向。 
direction 讄或获取对象的阅读序。 
disabled 讄或获取控件的状态。 
disabled 讄或获取是否已为对象应用样式表。 
disabled 获取表明用户是否可与该对象交互的倹{ 
disabled 讄或获取可用于实现对象的你自己的 disabled 功能的字W串。 
display 讄或获取对象是否要渲染。 
doctype 获取与当前文档关联的文档cd声明。 
document 获取l定弹出H口中的 HTML 文档。 
documentElement 获取Ҏ档根l点的引用。 
domain 讄或获取文档的安全域名。 
dropEffect 讄或获取拖x作的cd和要昄的光标类型。 
dynsrc 讄或获取要在窗口中昄的视频剪辑或 VRML 世界。 
effectAllowed 讄或获取数据传送操作可应用于该对象的源元素。 
encoding 讄或获取表单的 MIME ~码。 
enctype 讄或获取表单的多用途网际邮件扩?MIME)~码。 
event 讄或获取脚本编写用于的事g。 
expando 讄或获取表明是否可对象内创ZQ意变量的倹{ 
face 讄或获取当前的字样家族。 
fgColor 讄或获取文档的前景(文本)颜色。 
FieldDelim 指定用于标明数据字段l束的字W。 
fileCreatedDate 获取文g创徏的日期。 
fileModifiedDate 获取文g上次修改的日期。 
fileSize 获取文g大小。 
fileUpdatedDate 获取文g上次更新的日期。 
filter 讄或获取应用于对象的o镜或滤镜集合。 
firstChild 获取对象的 childNodes 集合的第一个子对象的引用。 
font 讄或获取对象最多六个独立的字体属性。 
fontFamily 讄或获取对象文本所使用的字体名U。 
fontSize 讄或获取对象文本用的字体大小。 
fontSmoothingEnabled 获取用户是否在控刉板的昄讄中启用了圆整屏幕字体边角的选项。 
fontStyle 讄或获取对象的字体样式Q如斜体、常规或倾斜。 
fontVariant 讄或获取对象文本是否以型大写字母昄。 
fontWeight 讄或获取对象的字体宽度。 
form 获取对象所嵌入的表单的引用。 
frame 讄或获取表格周围的Ҏ昄的方式。 
frameBorder 讄或获取是否显C框架的Ҏ。 
frameElement 获取 frame 或 iframe 对象所在父文档的窗口。 
frameSpacing 讄或获取框枉附加I间总量。 
fromElement 讄或获取事件发生时ȀzL鼠标要d的对象。 
galleryImg 讄或获取对于当前图像我的图片支持图像工h是否可见。 
hash 讄或获取 href 属性中在井号?”后面的分段。 
hasLayout 获取表明对象是否有布局的倹{ 
headers 讄或获取ؓ对象提供信息的标题单元格。 
height 获取屏幕的垂直分辨率。 
height 讄或获取对象的高度。 
height 讄或获取对象的高度。 
hidden 讄或获取表明嵌入对象是否可见的倹{ 
hideFocus 讄或获取表明对象是否显式标明焦点的倹{ 
host 讄或获取 location 或 URL 的 hostname 和 port L。 
hostname 讄或获取 location 或 URL 的主机名U部分。 
href 讄或获取链接样式表的 URL。 
href 讄或获取目标 URL 或锚炏V 
href 讄或获取相寚w接基于的 URL。 
href 讄或获取整个 URL 为字W串。 
hreflang 讄或获取对象的语言代码。 
hspace 讄或获取对象的水^边距。 
htmlFor 讄或获取绑定到事g脚本的对象。 
htmlFor 讄或获取给定标{֯象指定到的对象。 
htmlText 获取 HTML 源文件ؓ合法的 HTML 片段。 
httpEquiv 讄或获取用于将 META 标签的内容绑定到 HTTP 响应头的信息。 
id 获取标识对象的字W串。 
imeMode 讄或获取输入方法编辑器(IME)的状态。 
implementation 获取当前文档的 implementation 对象。 
indeterminate 讄或获取用h否已l更改了复选框的状态。 
index 讄或获取列表框中选项的依序位|。 
innerHTML 讄或获取位于对象v始和l束标签内的 HTML。 
innerText 讄或获取位于对象v始和l束标签内的文本。 
isContentEditable 获取表明用户是否可编辑对象内容的倹{ 
isDisabled 获取表明用户是否可与该对象交互的倹{ 
isMap 讄或获取图像是否ؓ服务器端囑փ映射。 
isMultiLine 获取表明对象的内Ҏ包含一行还是多行的倹{ 
isOpen 获取表明弹出H口是否已打开的倹{ 
isTextEdit 获取是否可用该对象创徏一个 TextRange 对象。 
keyCode 讄或获取与D事g的按键关联的 Unicode 按键代码。 
label 讄或获取选项l的标签。 
label 讄或获取可用于实现对象的你自己的 label 功能的字W串。 
lang 讄或获取要使用的语a。 
language 讄或获取当前脚本编写用的语a。 
lastChild 获取该对象 childNodes 集合中最后一个子对象的引用。 
lastModified 获取面上次修改的日期,若页面提供的话。 
layoutFlow 讄或获取对象内容的方向和绕排方向。 
layoutGrid 讄或获取指定文本字W版面的l合文档格线属性。 
layoutGridChar 讄或获取用于渲染元素文本内容的字符|格大小。 
layoutGridLine 讄或获取用于渲染元素文本内容的|格U倹{ 
layoutGridMode 讄或获取文本布局|格是否使用二维。 
layoutGridType 讄或获取用于渲染元素文本内容的|格cd。 
left 讄或获取对象相对于文档层次中下个定位对象的左边界的位置。 
left 讄或获取围l对象内容的矩Ş左边坐标。 
leftMargin 讄或获取页面的整个M的左边距Q而不是缺省的边距。 
length 讄或获取集合中对象的数目。 
length 获取 TextNode 对象中的字符数目。 
length 获取历史列表中的元素数目。 
letterSpacing 讄或获取对象的字符间附加空间的d。 
lineBreak 讄或获取日本文本的换行规则。 
lineHeight 讄或获取对象两行间的距R 
link 讄或获取对象文档链接的颜色。 
linkColor 讄或获取对象文档链接的颜色。 
listStyle 讄或获取对象最多三个独立的 listStyle 属性。 
listStyleImage 讄或获取要为对象应用的列表目W号的图像。 
listStylePosition 讄或获取相对于对象内容如何l制目W号。 
listStyleType 讄或获取对象预定义的项目符L型。 
logicalXDPI 获取pȝ屏幕水^每英寸点?DPI)的常规数倹{ 
logicalYDPI 获取pȝ屏幕垂直每英寸点?DPI)的常规数倹{ 
longDesc 讄或获取对象长描述的统一资源标识W?URI)。 
loop 讄或获取字q播攄ơ数。 
loop 讄或获取声x视频剪辑Ȁzd循环播放的次数。 
lowsrc 讄或获取要昄的较低分辨率囑փ。 
margin 讄或获取对象的上下左右边距。 
marginBottom 讄或获取对象的下边距宽度。 
marginHeight 讄或获取显C框架中文本之前的上下边距高度。 
marginLeft 讄或获取对象的左边距宽度。 
marginRight 讄或获取对象的双距宽度。 
marginTop 讄或获取对象的上边距宽度。 
marginWidth 讄或获取显C框架中文本之前的左双距宽度。 
maxLength 讄或获取用户可在文本控件中输入的最多字W数。 
media 讄或获取媒体类型。 
menuArguments q回快捷菜单执行所在的H口对象。 
method 讄或获取如何将表单数据发送到服务器。 
Methods 讄或获取该对象支持的 HTTP 方式清单。 
minHeight 讄或获取元素的最高度。 
MoreInfo 通过 event 对象获取高񔋹重定向?ASX)文g中项目横q的 MoreInfo 内容。 
multiple 讄或获取表明列表中是否可选中多个目的 Boolean 倹{ 
name 讄或获取框架的名称。 
name 讄或获取 meta 对象的 CONTENT 标签属性中指定的倹{ 
name 讄或获取对象的名称。 
name 获取命名I间的名U。 
name 讄或获取元素的输入参数的名U。 
name 讄或获取表明窗口名U的倹{ 
nameProp 获取由对象的 href 或 src 属性指定的文g名。 
nextPage 获取打印模板中下늚位置。 
nextSibling 获取Ҏ对象的下一个兄弟对象的引用。 
nodeName 获取特定l点cd的名U。 
nodeType 获取所需l点的类型。 
nodeValue 讄或获取结点的倹{ 
noHref 讄或获取在此区域内单击是否引v操作。 
noResize 讄或获取用h否可~放框架。 
noShade 讄或获取水q线是否要绘制 3D 阴媄。 
noWrap 讄或获取浏览器是否执行自动换行


DOM属性用法速查手册

--------------------------------------------------------------------------------

object q回包含的对象。 
offscreenBuffering 讄或获取对象在对用户可见之前是否要先在屏幕外绘制。 
offsetHeight 获取对象相对于版面或q坐标 offsetParent 属性指定的父坐标的高度。 
offsetLeft 获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置。 
offsetParent 获取定义对象 offsetTop 和 offsetLeft 属性的容器对象的引用。 
offsetTop 获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算端位置。 
offsetWidth 获取对象相对于版面或q坐标 offsetParent 属性指定的父坐标的宽度。 
offsetX 讄或获取鼠标指针位|相对于触发事g的对象的 x 坐标。 
offsetY 讄或获取鼠标指针位|相对于触发事g的对象的 y 坐标。 
onLine 获取表明pȝ是否处于全局脱机模式的倹{ 
opener 讄或获取创建当前窗口的H口的引用。 
outerHTML 讄或获取对象及其内容的 HTML 形式。 
outerText 讄或获取对象的文本。 
overflow 讄或获取表明当内容出对象高度或宽度时如何理对象内容的倹{ 
overflowX 讄或获取当内容出对象宽度时如何管理对象内宏V 
overflowY 讄或获取当内容出对象高度时如何管理对象内宏V 
ownerDocument 讄或获取结点关联的 document 对象。 
owningElement 获取 HTML 层次中的下个对象。 
padding 讄或获取要在对象和其边距或若存在的Ҏ的话是对象和其Ҏ之间要插入的全部I间。 
paddingBottom 讄或获取要在对象下Ҏ和内容之间插入的I间总量。 
paddingLeft 讄或获取要在对象左Ҏ和内容之间插入的I间总量。 
paddingRight 讄或获取要在对象右Ҏ和内容之间插入的I间总量。 
paddingTop 讄或获取对象上Ҏ和内容之间插入的I间总量。 
pageBreakAfter 讄或获取表明对象后发生换页的字W串。 
pageBreakBefore 讄或获取表明对象前发生换页的字W串。 
palette 获取用于嵌入文档的调色板。 
parent 获取对象层次中的父窗口。 
parentElement 获取对象层次中的父对象。 
parentNode 获取文档层次中的父对象。 
parentStyleSheet 获取导入到当前样式表的样式表。 
parentTextEdit 获取文档层次中可用于创徏包含原始对象的 TextRange 的容器对象。 
parentWindow 获取容器对象所在窗口的引用。 
pathname 讄或获取对象指定的文g名或路径。 
pixelBottom 讄或获取对象的下方位置。 
pixelHeight 讄或获取对象的高度。 
pixelLeft 讄或获取对象的左侧位置。 
pixelRight 讄或获取对象的右侧位置。 
pixelTop 讄或获取对象的上方位置。 
pixelWidth 讄或获取对象的宽度。 
platform 获取用户的操作系l名U。 
pluginspage 获取用于查看嵌入文档的插件 URL。 
port 讄或获取与 URL 兌的端口号码。 
posBottom 讄或获取以 bottom 标签属性指定的单位的对象下方位|。 
posHeight 讄或获取以 height 标签属性指定的单位的对象高度。 
position 讄或获取对象所使用的定位方式。 
posLeft 讄或获取以 left 标签属性指定的单位的对象左侧位|。 
posRight 讄或获取以 right 标签属性指定的单位的对象右侧位|。 
posTop 讄或获取以 top 标签属性指定的单位的对象上方位|。 
posWidth 讄或获取以 width 标签属性指定的单位的对象宽度。 
previousSibling 获取Ҏ对象的上一个兄弟对象的引用。 
profile 讄或获取对象的属性和及这些属性的合法值所定义的一个或多个 URI。 
propertyName 讄或获取对象上发生更改的属性名U。 
protocol 讄或获取 URL 的协议部分。 
pseudoClass 获取标识 @page 规则应用到的面的伪cȝ字符丌Ӏ 
qualifier 讄或获取由数据源对象提供的数据成员的名U。 
readOnly 获取规则或样式表是定义在面上还是导入的。 
readOnly 讄或获取表明对象内Ҏ否ؓ只读的倹{ 
readyState 获取对象的当前状态。 
readyState 获取对象的当前状态。 
readyState 获取对象的当前状态。 
reason 讄或获取数据源对象的数据传输结果。 
recordNumber 获取数据集中生成对象的原始记录。 
recordset 从数据源对象讄或获取对~省数据集的引用。 
referrer 获取用户引入当前页面的位置 URL。 
rel 讄或获取对象和链接目的的关pR 
repeat 获取 onkeydown 事g是否正在重复。 
returnValue 讄或获取从模式对话框返回的倹{ 
returnValue 讄或获取事件的q回倹{ 
rev 讄或获取对象和链接目的的关pR 
right 讄或获取围l对象内容的矩Ş双坐标。 
right 讄或获取对象相对于文档层次中下个已定位的对象的双界的位置。 
rightMargin 讄或获取页面的整个M的右边距Q而不是缺省的边距。 
rowIndex 获取对象在表格的 rows 集合中的位置。 
rows 讄或获取对象中包含的水q数。 
rows 讄或获取对象的框架高度。 
rowSpan 讄或获取单元格要跨表格的多少行。 
rubyAlign 讄或获取由 rt 对象指定的注x本的位置。 
rubyOverhang 讄或获取由 rt 对象指定的注x本的位置。 
rubyPosition 讄或获取由 rt 对象指定的注x本的位置。 
rules 讄或获取要昄哪些分隔U?内部Ҏ)。 
saveType 当 oncontentsave 触发时获取剪贴板cd。 
scheme 讄或获取用于解释ؓ对象指定的属性值的Ҏ。 
scope 讄或获取对象的信息所应用的标格单元格l。 
scopeName 获取元素定义的命名空间。 
screenLeft 获取览器客户区左上角相对于屏幕左上角的 x 坐标。 
screenTop 获取览器客户区左上角相对于屏幕左上角的 y 坐标。 
screenX 讄或获取获取鼠标指针位|相对于用户屏幕的 x 坐标。 
screenY 讄或获取鼠标指针位|相对于用户屏幕的 y 坐标。 
scroll 讄或获取滚动是否关闭。 
scrollAmount 讄或获取介于每个字q绘制序列之间的文本滚动像素数。 
scrollbar3dLightColor 讄或获取滚动条上滚动按钮和滚动滑块的左上颜艌Ӏ 
scrollbarArrowColor 讄或获取滚动箭头标识的颜色。 
scrollbarBaseColor 讄或获取滚动条的主要颜Ԍ其中包含滚动按钮和滚动滑块。 
scrollbarDarkShadowColor 讄或获取滚动条上滑槽的颜色。 
scrollbarFaceColor 讄或获取滚动条和滚动条的滚动箭头的颜色。 
scrollbarHighlightColor 讄或获取滚动框和滚动条滚动头的左上边~颜艌Ӏ 
scrollbarShadowColor 讄或获取滚动框和滚动条滚动头的右下边~颜艌Ӏ 
scrollbarTrackColor 讄或获取滚动条轨迹元素的颜艌Ӏ 
scrollDelay 讄或获取字q滚动的速度。 
scrollHeight 获取对象的滚动高度。 
scrolling 讄或获取框架是否可被滚动。 
scrollLeft 讄或获取位于对象左边界和窗口中目前可见内容的最左端之间的距R 
scrollTop 讄或获取位于对象最端和窗口中可见内容的最端之间的距R 
scrollWidth 获取对象的滚动宽度。 
search 讄或获取 href 属性中跟在问号后面的部分。 
sectionRowIndex 获取对象位于 tBody, tHead, tFoot 或 rows 集合中的位置。 
SECURITY 获取表明 frame 或 iframe 的源文g是否应用了特定的安全限制的倹{ 
selected 讄或获取列表框中的选项是否为缺省项目。 
selectedIndex 讄或获取选中选项位于 select 对象中的位置。 
selector 获取标识 @page 规则应用到的늚字符丌Ӏ 
selectorText 获取标识相应的样式表规则应用到的元素的字W串。 
self 获取对当前窗口或框架的引用。 
shape 讄或获取对象的形状。 
shiftKey 讄或获取 Shift 键的状态。 
shiftLeft 讄或获取左 Shift 键的状态。 
size 讄或获取该对象的字体大。 
size 讄或获取 hr 对象的高度。 
size 讄或获取控件的大小。 
size 讄或获取列表中的行数。 
sourceIndex 获取对象在源序中的依ơ位|,卛_象出现在 document 的 all 集合中的序。 
span 讄或获取组中的列数。 
specified 获取是否指定了该属性。 
src 讄或获取要播放的声音的 URL。 
src 获取包含有源代码或数据的外部文g的 URL。 
src 讄或获取要由对象装入的 URL。 
srcElement 讄或获取触发事件的对象。 
srcFilter 讄或获取触发 onfilterchange 事g的o镜对象。 
srcUrn 获取触发事g的行为的l一资源名称(URN)。 
standby 讄或获取可用于实现对象的你自己的 standby 功能的字W串。 
start 讄或获取编号列表的起始~号。 
start 讄或获取视频剪辑文件应该开始播攄旉。 
status 讄或获取位于窗口底部状态栏的信息。 
status 讄或获取表明控件是否选中的倹{ 
STYLE 讄元素讄内嵌样式。 
styleFloat 讄或获取文本要l排到对象的哪一侧。 
summary 讄或获取对象的描述?或结构。 
systemLanguage 获取操作pȝ适用的缺省语a。 
tabIndex 讄或获取定义对象的 Tab 序的烦引。 
tableLayout 讄或获取表明表格布局是否固定的字W串。 
tabStop 讄或获取元素行为是否可收到焦点q参与 Tab 序列。 
tagName 获取对象的标{֐U。 
tagUrn 讄或获取在命名I间声明中指定的l一资源名称(URN)。 
target 讄或获取目标内容要昄于哪个窗口或框架。 
text 讄或获取范围内包含的文本。 
text 讄或获取文档主体的文本(前景)颜色。 
text 讄或获取对象文本的字符串Ş式。 
text 讄或获取由 option 标签指定的字W串。 
textAlign 讄或获取对象中的文本是左对齐、右寚w、居中对齐还是两端对齐。 
textAlignLast 讄或获取如何排列对象的最后一行或仅有的一行。 
textAutospace 讄或获取自动留I和文本的窄I间宽度调整。 
textDecoration 讄或获取对象中的文本是否有闪烁、删除线、上划线或下划线的样式。 
textDecorationBlink 讄或获取表明对象的 textDecoration 属性是否含有有“blink”的 Boolean 倹{ 
textDecorationLineThrough 讄或获取表明对象内的文本是否有删除U的 Boolean 倹{ 
textDecorationNone 讄或获取表明对象的 textDecoration 属性是否设|ؓ none 的 Boolean 倹{ 
textDecorationOverline 讄或获取表明对象中的文本是否有上划U的 Boolean 倹{ 
textDecorationUnderline 讄或获取对象中的文本是否有下划U的 Boolean 倹{ 
textIndent 讄或获取对象中文本的羃q。 
textJustify 讄或获取对象内的文本所使用的对齐类型。 
textKashidaSpace 讄或获取对象内文本寚w行时所使用I白扩展的 kashida 扩展的倍率。 
textOverflow 讄或获取表明是否显C省略号以表明文本溢出的倹{ 
textTransform 讄或获取对象中文本的渲染方式。 
textUnderlinePosition 讄或获取对象的 textDecoration 属性中讄的下划线的位|。 
tFoot 获取表格的 tFoot 对象。 
tHead 获取表格的 tHead 对象。 
title 讄或获取样式表的标题。 
title 讄或获取对象的咨询信息(工具提示)。 
toElement 讄或获取用戯鼠标指针移动指向的对象的引用。 
top 讄或获取对象相对于文档层次中下个定位对象的上边界的位置。 
top 获取最层的祖先窗口。 
top 讄或获取围l对象内容的矩Ş上边坐标。 
topMargin 讄或获取页面的上边距。 
trueSpeed 讄或获取字q的位置是否使用 scrollDelay 和 scrollAmount 属性计,已过的实际时间来自于旉计时。 
type 讄或获取列表的样式。 
type 获取选中区的cd。 
type 获取样式表编写所用的样式?CSS)语言。 
type 获取按钮的分cd~省行ؓ。 
type 从 event 对象中获取事件名U。 
type 讄或获取对象的 MIME cd。 
type 获取样式表编写所用的样式?CSS)语言。 
type 获取或初始设|对象所代表的 input 控gcd。 
type 讄或获取关联的脚本引擎的 MIME cd。 
type Ҏ MULTIPLE 属性的D取 select 控g的类型。 
type 获取控gcd。 
type 讄或获取 value 标签属性指明的资源内容cd。 
typeDetail 获取选中区类型的名称。 
unicodeBidi 讄或获取关于双向法则的嵌入U别。 
uniqueID 获取为对象自动生成的唯一标识W。 
units 讄或获取 embed 对象的高度和宽度单位。 
UNSELECTABLE 指定该元素不可被选中。 
updateInterval 讄或获取屏q的更新间隔。 
URL 讄或获取当前文档的 URL。 
URLUnencoded 获取文档的 URLQ去除所有字W编码。 
urn 讄或获取目标文档的 URN。 
useMap 讄或获取用于客L囑փ映射的 URLQ通常带有一个书{扩?#name)。 
userAgent 获取{同于 HTTP 用户代理h头的字符丌Ӏ 
userLanguage 获取操作pȝ的自然语a讄。 
vAlign 讄或获取标题是表格的上面还是下面。 
vAlign 讄或获取文本和其它内容在对象内的垂直方向上如何排列。 
value 获取或设| textArea 元素字段中的文本。 
value 获取控g的缺省或选中倹{ 
value 讄或获取列表项目的倹{ 
value 讄或获取当表单控g提交时返回给服务器的倹{ 
value 讄或获取控件对象的昄倹{当控g对象提交时此值将q回l服务器。 
value 讄或获取元素的输入参数倹{ 
value 当文本通过用户输入讄后获取 input 对象的文件名。 
value 讄或获取对象的倹{ 
valueType 讄或获取 value 标签属性的数据cd。 
vcard_name 讄或获取对象的 vCard |以便用于自动完成框。 
version 讄或获取管理当前文档的文档cd定义(DTD)版本。 
verticalAlign 讄或获取对象的垂直排列。 
viewInheritStyle 讄或获取表明文档片D|否承主文档中设|的 CSS 样式的倹{ 
viewLink 讄或获取给d素提供内容的 document 对象。 
viewMasterTab 讄或获取表明 viewlink 的主元素是否包含在主文档的 Tab 序列中的倹{ 
visibility 讄或获取对象的内容是否昄。 
vLink 讄或获取对象中已访问链接的颜色。 
vlinkColor 讄或获取用户已讉Kq的链接颜色。 
volume 讄或获取声音的音量讄。 
vspace 讄或获取对象的垂直边距。 
wheelDelta 讄或获取滚轮按钮滚动的距离和方向。 
whiteSpace 讄或获取对象中是否自动换行。 
width 获取屏幕的垂直分辨率。 
width 讄或获取对象的计算宽度。 
width 讄或获取对象的宽度。 
width 讄或获取对象的宽度。 
width 讄或获取可用于实现对象的你自己的 width 功能的字W串。 
wordBreak 讄或获取单词内的换行行为,特别是对象中出现多语a的情c 
wordSpacing 讄或获取对象中单词间的附加I间总量。 
wordWrap 讄或获取当内容过其容器边界时是否断词。 
wrap 讄或获取如何处理对象中的自动换行。 
writingMode 讄或获取对象内容的方向和绕排。 
x 讄或获取鼠标指针位|相对于父文档的 x 像素坐标。 
XMLDocument 获取对由对象引出的的 XML 文档对象模型(DOM)的引用。 
XMLNS 声明 HTML 文档中自定义标签的命名空间。 
XSLDocument 获取寏VXSL 文档的顶层结点的引用。 
y 讄或获取鼠标指针位|相对于父文档的 y 像素坐标。 
zIndex 讄或获取定位对象的堆叠ơ序。 
zoom 讄或获取对象的攑֤比例



jackstudio 2006-05-31 11:04 发表评论
]]>
取得 HTML 中的元素时应该注?/title><link>http://www.tkk7.com/jackstudio/archive/2006/05/31/49167.html</link><dc:creator>jackstudio</dc:creator><author>jackstudio</author><pubDate>Wed, 31 May 2006 01:39:00 GMT</pubDate><guid>http://www.tkk7.com/jackstudio/archive/2006/05/31/49167.html</guid><wfw:comment>http://www.tkk7.com/jackstudio/comments/49167.html</wfw:comment><comments>http://www.tkk7.com/jackstudio/archive/2006/05/31/49167.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/jackstudio/comments/commentRss/49167.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/jackstudio/services/trackbacks/49167.html</trackback:ping><description><![CDATA[ <p>在這範例中Q若要取?form 裡面?text 的元素的話,怿應該是很多h都會?document.all("text1") 或是?document.form1.text1 吧!?IE ?FireFox ?Opera 中,以上兩種寫法都是可以埯的,但要注意的是Q?<font color="#ff0000">document.all 並非是標準的寫法</font>?/p> <p>而在 W3C 的標準中Q徏C?getElementById 來取得某特定 ID 的元素;另外也可以用 getElementsByName 或是 getElementsByTagName 來取得某特定 Name 或是型的元素集合?/p> <p> <strong>getElementById(elementId)</strong> </p> <p>?HTML 中,每個元素都可以有自己專屬的 ID ??HTML 中要使用 id 屬性來指定 ID Q且?HTML 中是不能有元素用同一?ID 的,但是可以不?ID 。所以在上面的範例中Q我們可以用 document.getElementById("text1") 來取?ID ?text1 的元素?/p> <p> <strong>getElementsByName(elementName)</strong> </p> <p>若用 document.getElementsByName 的話Q則可以取得所有某特定 Name 的元素集合。回傳的元素集合是一個陣列。所以在上面的範例中Q我們可以用 document.getElementsByName("text1") 來取?Name ?text1 的元素集合,而在元素集合中的W一個元素則?document.getElementsByName("text1")[0] ?/p> <p> <font color="#ff0000">a: </font> <font color="#ff0000">getElementsByName ?DOM Level 3 中已E被拿掉了?/font> </p> <p> <strong>getElementsByTagName(tagName)</strong> </p> <p>若用 document.getElementsByTagName 的話Q則可以取得所有某特定型的元素集合。回傳的元素集合是一個陣列。所以在上面的範例中Q我們可以用 document.getElementsByTagName("input") 來取得類型為 input 的元素集合,而在元素集合中的W一個元素則?document.getElementsByTagName("input")[0] ?/p> <p> <strong>^結Q所以像 document.all 這種非標準的語法別再用了Q請改用 document.getElementById(elementId) ?/strong> </p> <p>另外要注意的是,除了 getElement<font color="#ff0000">s</font>ByName ?getElement<font color="#ff0000">s</font>ByTagName 中都有一?<font color="#ff0000">s </font><font color="#000000">Q?/font><font color="#000000">?getElementById 則沒有喔Q你把它想成是因為 getElementById 只是取得單一元素Q?getElementsByName ?getElementsByTagName 都是取得元素集合Q所以是複數型態p?<font color="#ff0000">s </font>囉?/font></p> <p>?getElementsByName ?getElementsByTagName 一定會回傳一個元素集合的陣列Q即使符合該條g的元素只有一個?/p> <img src ="http://www.tkk7.com/jackstudio/aggbug/49167.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/jackstudio/" target="_blank">jackstudio</a> 2006-05-31 09:39 <a href="http://www.tkk7.com/jackstudio/archive/2006/05/31/49167.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>同时支持三种事g模型http://www.tkk7.com/jackstudio/archive/2006/05/31/49166.htmljackstudiojackstudioWed, 31 May 2006 01:36:00 GMThttp://www.tkk7.com/jackstudio/archive/2006/05/31/49166.htmlhttp://www.tkk7.com/jackstudio/comments/49166.htmlhttp://www.tkk7.com/jackstudio/archive/2006/05/31/49166.html#Feedback0http://www.tkk7.com/jackstudio/comments/commentRss/49166.htmlhttp://www.tkk7.com/jackstudio/services/trackbacks/49166.html事g使得客户端的 JavaScript 有机会被Ȁz,q得以运行。在一?Web 面装蝲之后Q运行脚本的唯一方式Q就是响应系l或者用L动作。虽然从W一个支持脚本编E的览器面世以来,单的事g被实Cؓ JavaScript 的一部分Q但是大多数最q出现的览器都实现了强壮的事g模型Q脚本可以更加地处理事件。现在的问题在于Qؓ了支持各U浏览器Q您必须和多个先q的事g模型做斗争,准确地说Q是三个?/p>

q三个事件模型分别和下面的文档对象模型(Document Object ModelQ即 DOMQ三巨头l盟QNetscape Navigator 4 (NN4)QMacintosh ?Windows pȝ?Internet Explorer 4 及其更新版本(IE4+)Q以及在 Safari 中得到实现的 W3C DOM。尽这些模型之间有些地方存在一些本质的差别Q但是在一些简易的 JavaScript 的帮助下Q它们都可以同时适用于同一个文档。本文主要着g怺冲突的事件模型中的两个关键方面:

  • 把一个事件和 HTML 元素l定h的方法?
  • 在事件被触发后如何对之进行处理?

事gl定的方?/font>

事gl定是指构造一个响应系l或者用户动作的 HTML 元素的过E。在不同的浏览器版本中,有不于五种事gl定技术。下面我们快速地介绍一下这些技术?/p>

事gl定ҎIQ绑定元素属?/font>

最单和向后兼容性最好的事gl定Ҏ是把事gl定到元素标识的属性。事件属性名U由事gcd外加一个“on”前~构成。尽HTML属性ƈ不是大小写敏感的Qh们还是定义了一个规则,规定事gcd的每一个“词”的首字母大写,比如 onClick ?onMouseOver。这些属性也被称?i>事g处理?/i>Q因为它们指CZ元素如何“处理”特定的事gcd?/p>

正确的事件处理器属性的值在形式上是被引号包含的 JavaScript 语句。最常见的值是一条调用某个脚本函数的语句Q而被调用的函数在位于文档前部?<SCRIPT> 标识中定?-该标识通常位于 <HEAD> 部分。D例来_下面的函敎ͼ

				function myFunc() {
    // script statements here
}
		

可以被定义ؓ一个按键控件的事g处理器,按键的定义如下:

				<INPUT TYPE="button" NAME="myButton" VALUE="Click Here" 
onClick="myFunc()">
		

把事件绑定到元素属性上有一个优点,卛_以支持开发者把参数传递给事g处理器函数。接收事件的元素的引用则׃个特D的参数?-this 关键字来传递。下面的代码演示一个函数如何借助传入参数Q把L数目的文本框的内容{化ؓ大写Q?/p>

				<SCRIPT LANGUAGE="JavaScript">
function convertToUpper(textbox) {
    textbox.value = textbox.value.toUpperCase();
}
</SCRIPT>
...
<FORM ....>
<INPUT TYPE="text" NAME="first_name" onChange="convertToUpper(this)"&gt
<INPUT TYPE="text" NAME="last_name" onChange="convertToUpper(this)"&gt
...
</FORM>
		

事gl定ҎIIQ绑定对象属?/font>

对于 NN3+ ?IE4+ q两cL览器Q脚本编Eh员可以以脚本语句的方式把事gl定到对象上Q而不是绑定到元素标识的属性上。每一个负责事件响应的元素对象都ؓ自己能够识别的事件设|了相应的属性。对象属性名U是元素标识属性的写形式Q比?onmouseover。NN4 q接?interCapQ即首字写Q之后的每一个词的首字大写)版本的属性名Q但是考虑到跨览器的兼容性,所有字母都是小写的名称会更安全一些?/p>

当您把一个函数的引用赋值给一个事件属性的时候,发生了l定。函数的引用是指函数的名Uͼ但是不带函数定义中的括号。因此,如果要ؓ一个名?myButton 的按键的点击事gQclickQ进行绑定,使之ȀzM个定义ؓ myFunc() 的函敎ͼ则其赋D句如下所C:

				document.forms[0].myButton.onclick = myFunc;
		

您应该注意一点:在事件触发的时候,没有办法向事件函C递参数。本文在E候对事g处理q程的讨Zq会回顾q个问题?/p>

事gl定ҎIII: l定 IE4+<SCRIPT FOR> 标识

?IE4+ 中,Microsoft ?<SCRIPT> 标识实现了自q扩展Q可以将它包含的脚本语句和某个元素的一个事件类型进行绑定。支持这个绑定的标识属性(q没有被 W3C 批准?HTML 的一部分Q是 FOR ?EVENT?/p>

FOR 属性的值必L您ؓ元素?ID 属性分配的唯一标识W。然后,您必L事g的名UͼonmouseoverQonclickQ等{)分配l?code> EVENT 属性。在上面的按键实例的基础上,我们必须Ҏ键标识进行修改,使之包含一?ID 属性:

				<INPUT TYPE="button" NAME="myButton" ID="button1" VALUE="Click Here">
		

脚本语句q不在函CQ而是?<SCRIPT> 标识中,如下所C:

				<SCRIPT FOR="button1" EVENT="onclick">
// script statements here
</SCRIPT>
		

当然Q标识中的语句可以调用页面上其它地方定义的Q何函敎ͼ或者从.js文g中导入的函数Q。然而,q种l定方式意味着您必Mؓ每一个元素和每一个事件创Z?<SCRIPT FOR> 标识?/p>

您还必须心Q只能把q种l定Ҏ部v在仅?IE4+ 览器浏览的面。其它Q何支持脚本编E而又没有实现q个Ҏ?<SCRIPT> 标识的浏览器Q包?IE3Q,都将把它作ؓ常规?<SCRIPT> 标识来处理,q试囑֜面装蝲的时候执行这些脚本语?-q不可避免地引v脚本错误?/p>

事gl定ҎIVQ?IE5/Windows ?attachEvent() Ҏ

早在 W3C DOM 工作l磨砺出标准的事件模型之前,attachEvent() Ҏ已经被实CQƈ且可被用?Windows 版的 IE5 或更新版本的览器上的每一?HTML 元素?/p>

attachEvent() Ҏ的用法如下所C:

				
						elemObject.attachEvent("eventName", functionReference);
		

eventName 参数的值是表示事g名称的字W串Q比?code> onmousedown?em>functionReference 参数是一个不带括L函数引用Q和早些时候描q的事g属性方法中一栗因此对于上面例子的按键对象Q可以通过如下的脚本语句把函数l定到按键的 click 事gQ?/p>

				document.getElementById("button1").attachEvent("onclick", myFunc);
		

׃ attachEvent() Ҏ必须严格工作?IE5+/Windows 的环境中Q所以您既可以?W3C DOM 的元素引用方式(如上文所C)Q也可以使用 IE4+ 的引用方式:

				document.all.button1.attachEvent("onclick", myFunc);
		

q个Ҏ有一个值得注意的地方:您不能在元素被蝲入浏览器之前执行q个语句。该对象的引用在相应?HTML 按键元素被浏览器创徏之前Q都是无效的。因此,要让q样的绑定语句或者在面的底部运行,或者在 BODY 元素?code> onLoad 事g处理器调用的函数中运行?/p>

事gl定ҎVQ?W3C DOM ?addEventListener() Ҏ

Safari 使用的是 W3C DOM U别2定义的事件绑定机Ӟq个机制?IE5/Windows ?code> attachEvent() Ҏ很类|但是有自q语法。W3C DOM 规范?DOM 层次中的每一个结炚w定义了一?addEventListener() Ҏ。HTML 元素?DOM l点中的一c,在一对元素标识内部的文本l点也是一个结点,也能够接收事件。这一点在 NN6 事g处理q程中经常得C玎ͼ在本文的后面部分您将会看到?/p>

addEventListener() Ҏ的语法如下所C:

				
						nodeReference.addEventListener("eventType", listenerReference, captureFlag);
		

?W3C DOM 规范中的行话来说Q?code>addEventListener() Ҏ为指定的l点注册了一个事Ӟ表示该结点希望处理相应的事g。这个方法的W一个参数是一个声明事件类型的字符Ԍ不带"on"前缀Q,比如 clickQ?code>mousedownQ和 keypress?code>addEventListener() Ҏ的第二个参数可以和早些时候描q过的函数引用同样对待。第三个参数则是一?Boolean |指明该结Ҏ否以DOM中所谓的捕捉模式来侦听事件。事件的捕捉和派?--l合hUCؓ事g的传?/em>--最后由另一文章来描述。对于一个典型的事g侦听器来_W三个参数应该ؓ falseQ假Q?/code>?/p>

那种l定Ҏ最好?

如果您够幸q,只需要ؓ某一个操作系l上特定版本的浏览器创徏应用E序Q则可以为选定的浏览器选择最C的绑定方式。但是对于跨览器的|站作者来_选择l定Ҏ则需要面对实质性的挑战?/p>

如果您只计划支持 IE5/MacQ则可以不考虑 attachEvent() ?addEventListener() ҎQ因?IE5/Mac 对这两种Ҏ都不支持。这U情况下Q比较实际的选择有两U,要么l定标识属性,要么l定对象属性。这时就需要费心思了?/p>

一斚wQW3C DOM Level 2 承认Z标识属性的ҎQƈ它推荐?addEventListener() Ҏ的可接受代替Ҏ。ؓ了和C百万计的脚本相兼容,所有支持脚本编E的览器都支持Z标识属性的事gl定Ҏ。一些自动化的页面制作工P比如 DreamWeaverQ也把事件处理器的属性嵌入到 HTML 标识中?/p>

但是另一斚wQ在元素标识文g中嵌入面向脚本的信息Q又不能内容从风格及行Z分离开来,q和当前的流行趋势相q背。把事gl定到对象属性上的方法听h方向是对的,但是?W3C 关于 HTMLQXHTMLQ或?DOM 的标准中Qƈ没有对事件属性提供“官方”的支持。尽如此,在实际生zMQ除了第一代支持脚本编E的览器之外,其它览器都支持q种Ҏ?/p>

一个纯标准会认ؓ上述的两U方法都有缺点,但是对于讲究实际的开发者来_即考虑到未来主浏览器的兼Ҏ,q两U方法都是“安全”的?/p>

事g的信息矿Q事件对?/font>

所有这三种事g模型的核心都是一个事件对?-它是一个抽象的实体Q其属性中包含很多对事件处理函数具有潜在h值的信息。从本文早些时候对事gl定技术的讨论中,您可能可以推断出事g对象对脚本之所以至关重要,原因之一是除了基于标识属性的l定Ҏ以外Q其它绑定方法都不支持将参数传递到事g处理函数中?/p>

事g对象通过提供_的“挂钩”,使事件处理函数可以读取事件的特征Q从而填补了q个~隙。因此,事g处理函数可以得到接收事g的元素的引用Q以及其它一些有用的信息Q比如鼠标动作的坐标Q鼠标用的按键Q键盘上被按压的键,以及在事件发生的q程中是否有修饰键被按下Q比如检?Shift-click 事gQ?/p>

讉K事g对象

虽然事g对象的精构成因为本文讨论的三种 DOMQNN4QIE4+Q以?W3C/SafariQ的不同而有所变化Q但是,一个事件处理函数只能通过以下两种方式之一来访问事件对象:NN 方式?IE 方式。W3C/Safari DOM 事g对象公布l脚本的接口方式?NN4 的事件对象一P?IE4+ 则有自己的方法?/p>

IE4+ 的事件对象更加易于描qͼ因此我们首先对它q行讨论。简单地_事g对象?code> window 对象的一个属性。这意味着在所有的实例中只有一个事件对象。D例来_在键盘上单地按压和松开一个按键,会生三个事ӞonKeyDownQ?code>onKeyPressQ和 onKeyUpQ事件的发生序和这里的列D序相同Q。如?onKeyDown?件激zȝ函数p很长的时间进行处理,则浏览器׃把其它两个事件保持在队列中,直到 onMouseDown 事g处理完成为止?/p>

而对?NN4 ?W3C DOM 来说Q事件对象看h更加抽象一些。除了基于标识属性风格的l定Ҏ之外Q其它绑定方法都是把事g对象自动传递给与事件相l定的函数。传递给函数的是一个单一的参数。开发者需要在函数中定义一个参数变量,来“接收”该参数的倹{ؓ了避免和IE中的 window.event 对象互相冲突Q请不要把参数命名ؓ event。D例来_把它命名?evt q当好Q相应的事g函数的定义大致如下:

				function myFunc(evt) {
    // script statements here
}
		

然而,如果您用的是基于标识属性的事gl定技术,必L式地把事件作Z个参C递到您调用的函数。ؓ了完成事件的传递,需要把 event q个关键字作为参数进行传递:

				onClick = "myFunc(event)"
		

外部传入的参数是您的事g处理函数?NN 的事件对象之间的唯一联系U带。如果在M件处理函数内部调用的其它函数需要该对象或者该对象的属性|则您可以把该对象或其属性g为参Cl给q些函数?/p>

如果您想知道 IE 是否把事件的引用保存?window.event 属性中Q那{案是“是”。用这个语法交集是相当安全的,因ؓ?NN ?IE q两个浏览器Q被传递到事g处理函数的事件对象都有您所期望的当前事件的属性倹{?/p>

兼容两种事g对象引用

设想在处理事件时Q我们需要在一个事件函C考察一个或者多个事件属性。这是一个简单的技术,可以使事件处理函数和作ؓ参数传入的事件对象协同工作,或者从 window.event 属性中d信息。而且Q这个技术不必处理不同的览器版本之间的l微差别?/p>

在开始的时候,需要在您的事g处理函数中定义一个参数变量,准备接收可能传入的事件对象。然后,通过单的条g表达式把览器的事g对象赋值给上述的参数变量:

				function myFunc(evt) {
    evt = (evt) ? evt : ((window.event) ? window.event : "")
    // process event here
}
		

如果事g对象真的以参数的形式传进来了Q则在函数内部,事g对象p保留?evt q个局部变量中。如果这个参数是 nullQ而且览器的 window 对象包含有一?event 属性,?window.event 对象׃把自p值给 evt 变量?/p>

然而,Z完成q个工作Q还应该再包含一层或者多层条件控Ӟ以便优雅地适应那些在事件模型中没有定义事g对象的的早期览器:

				function myFunc(evt) {
    evt = (evt) ? evt : ((window.event) ? window.event : "")
    if (evt) {
        // process event here
    }
}
		

Z把同L方式应用到所有事件处理函数的构徏中,您可以定义一个函数来兼容两种事gQ即q定的标识属性显式传入的事g对象Q以及由l定的事件属性隐式传入的事g对象。这样即使您在开发过E中改变了事件绑定的风格Q这个函C不必改变?/p>

瑞典自助式地选择事g对象

然而,建立一个指向事件对象的引用只是战斗的一部分。来自不同事件模型的每一个事件对象都拥有自己的一套属性,以容U事件的l节。下面的表格列出了最常用的属性,以及q些属性在上述三种事g对象cd中的名称?/p>

表格 1. 行的事件对象属?/h3>
描述 NN4 IE4+ W3C/Safari
Event target target srcElement target
Event type type type type
X coordinate on page pageX * pageX
Y coordinate on page pageY * pageY
Mouse button which button button
Keyboard key which keyCode keyCode

标注*的属性值可以通过?event.clientX + document.body.scrollTop 或?event.clientY + document.body.scrollTop q行求值来得到?/p>

Macintosh 版本的IE5在通常情况下都遵@ IE4+ 的事件对象模型,但是有一个例外,?IE5/Mac 的事件对象既定义?srcElement 属性,也定义了 target 属性,q两个属性都指向接收事g的元素?/p>

需要抽象的最重要的事件对象属性可能得指向接收事件的 HTML 元素的引用。NN4 ?W3C 的事件对象采用相同的属性名Q?code>targetQ,?IE4+ 的事件对象则使用 srcElement 属性。这时候,对象技术(而不是费力劳而又h危险們֐的浏览器版本识别ҎQ再ơ拯救了我们。对于那些非文本容器的元素,一个简单的条g表达式就可以L处理脚本语法上的差别Q?/p>

				var elem = (evt.target) ? evt.target : evt.srcElement
		

从现在开始,您的脚本可以读写Q何浏览器对象模型公布出来的元素对象属性了?/p>

W3C DOMl点的事件目?/font>

W3C DOM 的结Ҏ构得文档中的每一个结炚w可以接收事g。在支持q一架构的浏览器中,发生在嵌套文本顶上的事gq不调用分配l文本容器的事g处理器,相应的文本结Ҏ是该事g的目标结炏V考虑如下场景Q?/p>

?a target="_blank">事g实例Q当鼠标的指针在一?SPAN 元素包含的文本顶上滚动时Q该文本׃被高亮显C?事gl定的过E通过对象属性在 init() 函数中进行。从表面上看Q当用户?SPAN 元素上滚动鼠标ӞonMouseOver 事g动作函数׃ؓ该元素指z一个与风格表单规则相关联的cdQ?code>highlightQ,该风D则把文本的显C风格定义ؓ_体Q黄色背景;而在 onMouseOut 函数中,则把风格恢复为原始的版本Q类 normalQ。请注意一?toggleHighlight() 函数是如何在事g对象?type 属性的帮助下,执行两个动作的(该属性在所有事件模型对象中的名U是相同的)。请试一下这个事件实?/a>?/p>

但是如果您把例子装蝲?NN6Q则鼠标事g的真正目标就?SPAN 元素中的文本l点了。本文ƈ不讨Z件的传播机制Q但是请怿QW3C DOM 事g模型的缺省行Z使事件沿着l点的包含层ơ向上传播(?IE4+ 中事仉过元素容器向上传播的机制很cMQ。因此,在这个事件实例中。鼠标事件会从其真正的目标向上传递到文本l点的容器(也就?SPAN 元素Q。这些事件触发了 SPAN 元素中相应的事g处理器?/p>

虽然事g处理器属?SPAN 元素Q事件对象还是保留文本对象的引用Qƈ它作ؓ事g的原始目标。然而,只有Ҏ本结点的容器q行动作Q才能修改它的风根{ؓ了实?toggleHighlight() 函数的等h作,使之可以修改SPAN容器?className 属性,该函数需要派生出一个指向文本结点容器的引用?/p>

一个策略是使用 W3C DOM 事g对象?currentTarget 属性,该属性返回一个处理事件的l点的引用。脚本中的决{树需要考虑q个属性,增加代码之后?toggleHighlight() 函数如下所C:

				function toggleHighlight(evt) {
    evt = (evt) ? evt : ((window.event) ? window.event : "")
    if (evt) {
        var elem
        if (evt.target) {
            if (evt.currentTarget && (evt.currentTarget != evt.target)) {
                elem = evt.currentTarget
            } else {
                elem = evt.target
            } 
        } else {
            elem = evt.srcElement
        }
        elem.className = (evt.type == "mouseover") ? "highlight" : "normal"
    }
}
		

另一个可选的Ҏ是考察?target 属性返回的对象?ronodeType 属性。一个能够把事g定向l文本结点的览器,也可以把一个文本结点的 nodeType 属性值报告ؓ3Q而不是报告ؓ元素l点的类型(其gؓQ)。如果事件的目标是一个文本结点,则脚本程序就可以通过该文本结点的 parentNode 属性来得到其上U元素结点的引用。这U方法的决策树在某种E度上得到更多的改进Q?/p>

				function toggleHighlight(evt) {
    evt = (evt) ? evt : ((window.event) ? window.event : "")
    if (evt) {
        var elem
        if (evt.target) {
            elem = (evt.target.nodeType == 3) ? evt.target.parentNode : evt.target
        } else {
            elem = evt.srcElement
        }
        elem.className = (evt.type == "mouseover") ? "highlight" : "normal"
    }
}
		

如果您正在用遵@ W3 的浏览器阅读本文Q则?a target="_blank">试q个修改q的版本Q看看鼠标滚动时的风格变化?/p>

q个面使用了嵌入到事g实例中的最新版本的 toggleHighlight() 函数Q展CZ如何使用 JavaScript 为那些能够显C期望效果的览器增加额外的价|同时也可以那些基本的内容提供l仍然用着较老版本或者不支持脚本~程的浏览器的用P只不q在模式上不那么动h和便于交互?/p>

一个事件处理函数的模板

q不是每个事件处理函数都处理面元素对象中同L属性或者行为,但是Q从上文的讨论可以派生出来的一个模板,您可以在q个模板的帮助下开始编码。模板如下:

				function functionName(evt) {
    evt = (evt) ? evt : ((window.event) ? window.event : "")
    if (evt) {
        var elem
        if (evt.target) {
            elem = (evt.target.nodeType == 3) ? evt.target.parentNode : evt.target
        } else {
            elem = evt.srcElement
        }
        if (elem) {
            // process event here
        }
    }
}
		

hW一行的函数名替换ؓ您希望的函数名,q在注视指示的地方开始书写具体事件的代码。这个格式应该可以ؓ您提供一个v点,适合于您采用的Q何跨览器的事gl定风格。如果您需要在一个页面中多次使用q个格式Q则可以q一步精代码Q即把读取目标的代码抽象成一个可重用的工具函敎ͼ然后在每一个事件处理函Cq行调用Q?/p>

				// shared function
function getTargetElement(evt) {
    var elem
    if (evt.target) {
        elem = (evt.target.nodeType == 3) ? evt.target.parentNode : evt.target
    } else {
        elem = evt.srcElement
    }
    return elem

}

function functionName(evt) {
    evt = (evt) ? evt : ((window.event) ? window.event : "")
    if (evt) {
        var elem = getTargetElement(evt)
        if (elem) {
            // process event here
        }
    }
}
		

有了q类框架Q您现在应该可以把更多的注意力集中在各个事g处理函数要求的具体动作中了?/p>

查看实例Q?/font>

下蝲脚本



jackstudio 2006-05-31 09:36 发表评论
]]>
վ֩ģ壺 Ƶһ߹ۿ | ..ŷһ| þþþƷ޳18վ| պשר2020| ˳վɫ߹ۿ| պAAƬѹۿ| wwwxxx| ӯӯӰԺƵۿһ| ɫɫwww| ½һëƬƵۿ| þþþ޹AV鶹| ֳִˬƵ| ޾Ʒһ| AVҹ丣㽶149| aaaëƬƵѹۿ| ޸Ƶ| av߿վ| պƷһ| ƷѲ| һһëƬѲ| þ޹ҹƷƬ| һëƬ| ޾ƷľþĻ| ޾ƷӰ| ϼ˳߹ۿƵ| ŷպٲ| avtt| ѾƵ߹ۿ| 츾͵ŷ| ƷŮߵӰ| ˳ɻҳ߹ۿձ| Ļ| vavaպ߹ۿ| һaëƬѲ| һһ| ͵͵͵ɫ| avëƬһ| Ƭ߹ۿѹۿȫй| ޳һ| ëƬֻѿ| ٸԼA|