src="http://www2.flash8.net/teach/teachInfo.aspx?id=4018" style="margin: 0pt; padding: 0pt; width: 400px; height: 25px;" frameborder="0" scrolling="no">
与 HTML 文件一样,HTC文件也有一个固定的格式,虽然很多格式可以省略,但初学时还是希望读者都能严格按格式书写代码。
1.根元素<publick:component>。
写在 HTC 文件的首行和末行位置,大概相当于 HTML 文件中的 <html> 标签:
<publick:component>
<!--子元素-->
</publick:component>
2.各子元素说明。
(1)PUBLIC:DEFAULTS元素
语法(属性如表2.5.2.1所示) :
<PUBLIC:DEFAULTS
canHaveHTML = "bCanHaveHTML"
contentEditable = "bEditable"
style = "sStyle"
tabStop = "bIsTabStop"
viewInheritStyle = "bInheritsStyle"
viewLinkContent = "bViewLinkContent"
viewMasterTab = "bViewMasterTab"
/>
表2.5.2.1 PUBLIC:DEFAULTS元素属性
属性说明
canHaveHTML获取表明对象是否可以包含子对象的值。 可选项,值:true 或 false。
contentEditable设置或获取表明用户是否可编辑对象内容的字符串。可选项,值:true 或 false。
style设置或获取HTC文件定义的标签样式。可选项。
tabStop设置或获取由HTC文件定义的标签是否可以通过 tab 键激活。 可选项,值:true 或 false。
viewInheritStyle设置或获取 viewlink 是否继承HTML主文件的样式。 可选项,值:true 或 false。
viewLinkContent设置或获取HTC文档中的标记是否用作 viewlink。 可选项,值:true 或 false。
viewMasterTab设置或获取 viewlink 的主要元素是否包括在主文档的 tab 索引中。 可选项,值:true 或 false。
(2)PUBLIC:ATTACH
语法(属性如表2.5.2.2所示):
<PUBLIC:ATTACH
EVENT = "sEvent"
FOR = "sObject"
ID = "sID"
ONEVENT = "sEventHandler"
/>
表2.5.2.2 PUBLIC:ATTACH元素属性
属性说明
EVENT必选项。指定 DHTML 或任意 HTC 参考中列出的事件名
FOR可选项。指定 document、element 或 window 中的一个来标识源事件
ID可选项。设置组件中的 PUBLIC:ATTACH 的唯一标识,类似 DHTML 中的 ID 属性
ONEVENT必选项。指定一行脚本或一个处理事件的函数
HANDLER必选项。指定处理事件的函数名
注意:HANDLER 和 ONEVENT 只能用一个,用 HANDLER 的话只需指定函数名
(3)PUBLIC:EVENT
语法(属性和方法分别如表2.5.2.3、2.5.2.4所示):
<PUBLIC:EVENT
ID = "sEventID"
NAME = "sName"
/>
表2.5.2.3 PUBLIC:EVENT元素属性
属性说明
ID可选项。设置组件中的 PUBLIC:EVENT 的唯一标识,类似 DHTML 中的 ID 属性
NAME必选项。指定包含文档中显式事件的名称
表2.5.2.4 PUBLIC:EVENT元素方法
方法说明
eventID.fire(oEvent)触发包含文档的事件,oEvent 为指定包含关联信息事件对象的对象
(4)PUBLIC:METHOD
语法(属性如表2.5.2.5所示):
<PUBLIC:METHOD
ID = "sID"
INTERNALNAME = "sInternalName"
NAME = "sName"
/>
表2.5.2.5 PUBLIC:METHOD元素属性
属性说明
ID可选项。设置组件中的 PUBLIC:EVENT 的唯一标识,类似 DHTML 中的 ID 属性
INTERNALNAME可选项。指定名称,名称由组件中提及的方法命名。如果不指定值,NAME属性为默认。
NAME必选项。指定名称,名称由包含文档中提及的方法命名。默认情况下,指定的NAME也可用于组件中所指的方法,除非指定了INTERNALNAME属性。
(5)PUBLIC:PROPERTY
语法(属性和方法分别如表2.5.2.6、表2.5.2.7所示):
<PUBLIC:PROPERTY
GET = "sGetFunction"
ID = "sPropertyID"
INTERNALNAME = "sInternalName"
NAME = "sName"
PERSIST = "bPersist"
PUT = "sPutFunction"
VALUE = "vValue"
/>
表2.5.2.6 PUBLIC:PROPERTY 元素属性
属性说明
GET可选项。指定函数,每当获取属性值时,函数会有响应。A PUBLIC:PROPERTY元素用来指定GET属性为只读,此GET属性无须指定PUT属性。
ID可选项。唯一识别组件内的PUBLIC:PROPERTY元素。类似于DHTML中的ID属性。
INTERNALNAME可选项。指定名称,由组件中提及的属性命名。内部的名称必须公开,才能在组件内任何地方被引用,否则,会出现脚本错误,显示名称不可定义。如果不定义内部名称,NAME属性为默认。
NAME必选项。指定包含文档中显式属性的名称。默认情况下,指定的NAME也可用于组件中所指的方法,除非指定了INTERNALNAME属性。
PERSIST可选项。指定是否要持续部分页面的属性。
PUT可选项。指定函数,当设置属性值时,函数会有响应。PUBLIC:PROPERTY元素用来指定GET和PUT属性为可读写。当指定PUT功能时,不能指定GET函数,使属性为只写,通常不期望出现这种情况。
VALUE可选项。指定属性的默认值。
表2.5.2.7 PUBLIC:PROPERTY 元素方法
方法说明
propertyID.fireChange()通知包含文档,通过触发元素中onpropertychange事件,而改变文档的属性值。如果在属性中不指定PUT属性,在包含文档中设置属性时,则自动触发onpropertychange。
3.在页面中使用 HTC。
因为 HTC 是以行为形式出现的,所有问题主要是设置元素的 style 对象的 behavior 属性。代码示例(先假设同目录下存在名为 demo.htc 的HTC文件):
<button style="behavior:url(demo.htc)">demo</button>
或
<style>
button{behavior:url(demo.htc)}
</style>
1.根元素<publick:component>。
写在 HTC 文件的首行和末行位置,大概相当于 HTML 文件中的 <html> 标签:
<publick:component>
<!--子元素-->
</publick:component>
2.各子元素说明。
(1)PUBLIC:DEFAULTS元素
语法(属性如表2.5.2.1所示) :
<PUBLIC:DEFAULTS
canHaveHTML = "bCanHaveHTML"
contentEditable = "bEditable"
style = "sStyle"
tabStop = "bIsTabStop"
viewInheritStyle = "bInheritsStyle"
viewLinkContent = "bViewLinkContent"
viewMasterTab = "bViewMasterTab"
/>
表2.5.2.1 PUBLIC:DEFAULTS元素属性
属性说明
canHaveHTML获取表明对象是否可以包含子对象的值。 可选项,值:true 或 false。
contentEditable设置或获取表明用户是否可编辑对象内容的字符串。可选项,值:true 或 false。
style设置或获取HTC文件定义的标签样式。可选项。
tabStop设置或获取由HTC文件定义的标签是否可以通过 tab 键激活。 可选项,值:true 或 false。
viewInheritStyle设置或获取 viewlink 是否继承HTML主文件的样式。 可选项,值:true 或 false。
viewLinkContent设置或获取HTC文档中的标记是否用作 viewlink。 可选项,值:true 或 false。
viewMasterTab设置或获取 viewlink 的主要元素是否包括在主文档的 tab 索引中。 可选项,值:true 或 false。
(2)PUBLIC:ATTACH
语法(属性如表2.5.2.2所示):
<PUBLIC:ATTACH
EVENT = "sEvent"
FOR = "sObject"
ID = "sID"
ONEVENT = "sEventHandler"
/>
表2.5.2.2 PUBLIC:ATTACH元素属性
属性说明
EVENT必选项。指定 DHTML 或任意 HTC 参考中列出的事件名
FOR可选项。指定 document、element 或 window 中的一个来标识源事件
ID可选项。设置组件中的 PUBLIC:ATTACH 的唯一标识,类似 DHTML 中的 ID 属性
ONEVENT必选项。指定一行脚本或一个处理事件的函数
HANDLER必选项。指定处理事件的函数名
注意:HANDLER 和 ONEVENT 只能用一个,用 HANDLER 的话只需指定函数名
(3)PUBLIC:EVENT
语法(属性和方法分别如表2.5.2.3、2.5.2.4所示):
<PUBLIC:EVENT
ID = "sEventID"
NAME = "sName"
/>
表2.5.2.3 PUBLIC:EVENT元素属性
属性说明
ID可选项。设置组件中的 PUBLIC:EVENT 的唯一标识,类似 DHTML 中的 ID 属性
NAME必选项。指定包含文档中显式事件的名称
表2.5.2.4 PUBLIC:EVENT元素方法
方法说明
eventID.fire(oEvent)触发包含文档的事件,oEvent 为指定包含关联信息事件对象的对象
(4)PUBLIC:METHOD
语法(属性如表2.5.2.5所示):
<PUBLIC:METHOD
ID = "sID"
INTERNALNAME = "sInternalName"
NAME = "sName"
/>
表2.5.2.5 PUBLIC:METHOD元素属性
属性说明
ID可选项。设置组件中的 PUBLIC:EVENT 的唯一标识,类似 DHTML 中的 ID 属性
INTERNALNAME可选项。指定名称,名称由组件中提及的方法命名。如果不指定值,NAME属性为默认。
NAME必选项。指定名称,名称由包含文档中提及的方法命名。默认情况下,指定的NAME也可用于组件中所指的方法,除非指定了INTERNALNAME属性。
(5)PUBLIC:PROPERTY
语法(属性和方法分别如表2.5.2.6、表2.5.2.7所示):
<PUBLIC:PROPERTY
GET = "sGetFunction"
ID = "sPropertyID"
INTERNALNAME = "sInternalName"
NAME = "sName"
PERSIST = "bPersist"
PUT = "sPutFunction"
VALUE = "vValue"
/>
表2.5.2.6 PUBLIC:PROPERTY 元素属性
属性说明
GET可选项。指定函数,每当获取属性值时,函数会有响应。A PUBLIC:PROPERTY元素用来指定GET属性为只读,此GET属性无须指定PUT属性。
ID可选项。唯一识别组件内的PUBLIC:PROPERTY元素。类似于DHTML中的ID属性。
INTERNALNAME可选项。指定名称,由组件中提及的属性命名。内部的名称必须公开,才能在组件内任何地方被引用,否则,会出现脚本错误,显示名称不可定义。如果不定义内部名称,NAME属性为默认。
NAME必选项。指定包含文档中显式属性的名称。默认情况下,指定的NAME也可用于组件中所指的方法,除非指定了INTERNALNAME属性。
PERSIST可选项。指定是否要持续部分页面的属性。
PUT可选项。指定函数,当设置属性值时,函数会有响应。PUBLIC:PROPERTY元素用来指定GET和PUT属性为可读写。当指定PUT功能时,不能指定GET函数,使属性为只写,通常不期望出现这种情况。
VALUE可选项。指定属性的默认值。
表2.5.2.7 PUBLIC:PROPERTY 元素方法
方法说明
propertyID.fireChange()通知包含文档,通过触发元素中onpropertychange事件,而改变文档的属性值。如果在属性中不指定PUT属性,在包含文档中设置属性时,则自动触发onpropertychange。
3.在页面中使用 HTC。
因为 HTC 是以行为形式出现的,所有问题主要是设置元素的 style 对象的 behavior 属性。代码示例(先假设同目录下存在名为 demo.htc 的HTC文件):
<button style="behavior:url(demo.htc)">demo</button>
或
<style>
button{behavior:url(demo.htc)}
</style>