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