与HTML文件一样,HTC文件也有一个固定的格式,虽然很多格式可以省略,但初学时还是希望读者都能严格按格式书写代码。
1.根元素 <publick:component>。
写在HTC文件的首行和末行位置,大概相当于HTML文件中的标签: </publick:component>
<publick:component>
</publick:component>
2.各子元素说明。
(1)PUBLIC:DEFAULTS元素
语法(属性如表2.5.2.1所示):
<public:defaults></public:defaults> canHaveHTML="bCanHaveHTML"
contentEditable="bEditable"
style="sStyle"
tabStop="bIsTabStop"
viewInheritStyle="bInheritsStyle"
viewLinkContent="bViewLinkContent"
viewMasterTab="bViewMasterTab"
/>
表2.5.2.1PUBLIC: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></public:attach> EVENT="sEvent"
FOR="sObject"
ID="sID"
ONEVENT="sEventHandler"
/>
表2.5.2.2PUBLIC: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></public:event> ID="sEventID"
NAME="sName"
/>
表2.5.2.3PUBLIC:EVENT元素属性
属性说明
ID可选项。设置组件中的PUBLIC:EVENT的唯一标识,类似DHTML中的ID属性
NAME必选项。指定包含文档中显式事件的名称
表2.5.2.4PUBLIC:EVENT元素方法
方法说明
eventID.fire(oEvent)触发包含文档的事件,oEvent为指定包含关联信息事件对象的对象
(4)PUBLIC:METHOD
语法(属性如表2.5.2.5所示):
<public:method></public:method> ID="sID"
INTERNALNAME="sInternalName"
NAME="sName"
/>
表2.5.2.5PUBLIC:METHOD元素属性
属性说明
ID可选项。设置组件中的PUBLIC:EVENT的唯一标识,类似DHTML中的ID属性
INTERNALNAME可选项。指定名称,名称由组件中提及的方法命名。如果不指定值,NAME属性为默认。
NAME必选项。指定名称,名称由包含文档中提及的方法命名。默认情况下,指定的NAME也可用于组件中所指的方法,除非指定了INTERNALNAME属性。
(5)PUBLIC:PROPERTY
语法(属性和方法分别如表2.5.2.6、表2.5.2.7所示):
<public:property></public:property> GET="sGetFunction"
ID="sPropertyID"
INTERNALNAME="sInternalName"
NAME="sName"
PERSIST="bPersist"
PUT="sPutFunction"
VALUE="vValue"
/>
表2.5.2.6PUBLIC:PROPERTY元素属性
属性说明
GET可选项。指定函数,每当获取属性值时,函数会有响应。APUBLIC: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.7PUBLIC:PROPERTY元素方法
方法说明
propertyID.fireChange()通知包含文档,通过触发元素中onpropertychange事件,而改变文档的属性值。如果在属性中不指定PUT属性,在包含文档中设置属性时,则自动触发onpropertychange。
3.在页面中使用HTC。
因为HTC是以行为形式出现的,所有问题主要是设置元素的style对象的behavior属性。代码示例(先假设同目录下存在名为demo.htc的HTC文件):
或
<style type="text/css">
button{behavior:url(demo.htc)}
</style>