===ANYDAY 和 TODAY HTCs===
ANYDAY组件定义在day,htc中,该组件是日历单元的一个封装。组件的名字是由定义在第一行的XML命名空间决定的。
1<html xmlns:anyday="">
2
3正如canlenar.htc一样,你只有一个命名空间定义,原因是在该页不用调用其他的HTC,也就是说该HCT是叶子HTC,在这里我们定义的自定义标签是DAY,同样我们也定义它的行为,实际上,HTML组件的定义就是自定义标签行为的定义,该行为包括一个属性和一个事件:
4
5<public:component tagname="DAY">
6<property name="value"></property>
7<attach <="" event="oncontentready" onevent="fnInit()">/ATTACH>
8</attach></public:component>
9
10注意事件 oncontentready ,当它的调用者calendar.htc要求导入day.htc并且被完全导入,该事件就会产生,事件的处理者是fnInit().我们来看看它:
11
12function fnInit() {
13document.body.innerHTML = element.value;
14document.body.className = "clsDay";
15defaults.viewLink = document;
16element.appointments = "";
17element.date = element.value;
18}
19
20fnInit()演示了很多重要的HTC章节。第一行把 element.value 指定给调用页的 innerHTML 属性。HTML组件总是封装在element对象里。value属性一般定义在PROPERTY标签中,作为提醒,实际的值从调用页面传入,canlendar.htc:
21text += '<td><anyday:day value=" + dayOfMonth + "></anyday:day></td>'
22单元样式在第二行指定:
23
24document.body.className = "clsDay";</html>