然后我们定义CALENDAR自定义标记:
<PUBLIC:COMPONENT tagName="CALENDAR">
<ATTACH EVENT="oncontentready" ONEVENT="fnInit()"/>
</PUBLIC:COMPONENT>
PUBLIC:COMPONENT用来描述CALENDAR标记,在开始和结束标记之间,您可以将事件附加到CALENDAR标记上,事件oncontentready将在calendar.htc文件全部被导入,并被解析时,指定处理时间的是定义在JAVASCRIPT的函数:fnInit():
<SCRIPT LANGUAGE="JavaScript">
<!--
function fnInit()
{
defaults.viewLink = document;
}
// -->
</SCRIPT>
viewLink指定的值非常重要,它是HTML组件的基础,它连接了HTML组件和调用该HTML组件的页面,defaults对象有别的属性并且会在别的地方被覆盖,我们给viewLink属性赋的是HTML文档对象,正因为该连接,我们才可以建立HTC组件和包含页面互访。
我们将在后面解释日历的层。注意,尽管在日历中当月的当天框和其他天框、空框的样式不一样,但是我们通过优先级法则来实现在包含页中,HTML组件忽略任何相互冲突的样式定义。calendar.htc的样式定义如下:
<STYLE>
TD {
background-color:tan;
width:50;
height:50;
}
</STYLE>
现在将该定义和日历比较,只有空框是的颜色是黄褐色的,我们调用的HTC忽略了这些定义,被调用的页面都嵌入了页面定制。以下调用TODAY:DAY HTML组件:
<TODAY:DAY value=' + dayOfMonth + '></TODAY:DAY>
我们只是简单的传入了当月中的第几天,同样的调用ANYDAY:DAY 也是简单的传入当月中的第几天:
<ANYDAY:DAY value=' + dayOfMonth + '></ANYDAY:DAY>