您好,欢迎访问一九零五行业门户网

HTML组件(HTML COMPONENTS)之五

anyday组件定义在day,htc中,该组件是日历单元的一个封装。组件的名字是由定义在第一行的xml命名空间决定的。
af8b09d53169814d6ea4623d5b34ab46
正如canlenar.htc一样,你只有一个命名空间定义,原因是在该页不用调用其他的htc,也就是说该hct是叶子htc,在这里我们定义的自定义标签是day,同样我们也定义它的行为,实际上,html组件的定义就是自定义标签行为的定义,该行为包括一个属性和一个事件:  
<public:component tagname="day"> <property name="value"></property> <attach event="oncontentready" onevent="fninit()"<>/attach> </public:component>
注意事件 oncontentready ,当它的调用者calendar.htc要求导入day.htc并且被完全导入,该事件就会产生,事件的处理者是fninit().我们来看看它:
function fninit() { document.body.innerhtml = element.value; document.body.classname = "clsday"; defaults.viewlink = document; element.appointments = ""; element.date = element.value; }
fninit()演示了很多重要的htc章节。第一行把 element.value 指定给调用页的 innerhtml 属性。html组件总是封装在element对象里。value属性一般定义在property标签中,作为提醒,实际的值从调用页面传入,canlendar.htc:
text += '<td><anyday:day value=' + dayofmonth + '></anyday:day></td>'
单元样式在第二行指定:
document.body.classname = "clsday";
样式类 clsday 定义在该页的别处:
<style> .clsday { width:50; height:50; background-color:lightyellow; align:center; text-align:right; } </style>
注意在日历中日期的被填色为亮黄色,这证明htc的格式的指定模式被它的调用者所支配,即:calendar.htc.
fninit()的第三行设置default对象的viewlink属性,viewlink属性是html组件的基础,它可以使得一个htc文档(day.htc)对另一个html组件(calendar.htc)来说可见.这儿就是viewlink的设置:
defaults.viewlink = document;
注意您需要联接的是整个document对象。fninit()的最后两行初始化我们将在以后解释的两个内部属性:
element.appointments = "";
element.date = element.value;
用于它本身的显示,day html组件和鼠标点击相关:
<body onclick="fnshowappts()">
当该天被点击,用户被提醒在该天加上他或她的约会,或者修改已经存在的约会:
function fnshowappts() { newappointments = prompt("add your appointment:", element.appointments); if (newappointments != null) element.appointments = newappointments; document.body.innerhtml = '<font color="red">' + element.date + '</font>' + "<br>" + '<font size="1">' + element.appointments + '</font>'; }
这里的输入机制非常原始,用户在约会指定中加入新行标签(82c2f54f4cf245029ffb326befd49b3f),否则他们将都显示在一行。最后innerhtml是日期数据(element.date)和约会指定(element.appointments) 的连接纽带。
today html组件(today.htc)和anyday组件(day.htc)非常类似。唯一的不同是样式快中的background-color是pink而不是lightyellow,并且字体颜色是blue 而不是red.
注意在日历中当前日期是粉红色(pink)背景蓝色的字。
以上就是html组件(html components)之五的内容。
其它类似信息

推荐信息