认识DHTML中的“行为”组件(读后大有启发)

认识DHTML中的“行为”组件
  在微软IE 5.0版本的浏览器发布以前,网页编程中面对的最大挑战就是不能轻易地创建组件,以达到代码重用和多页面共享的目的。这个问题一直困扰着DHTML(动态 HEML)的网页编程者。他们只能不断地重复书写HTML、CSS和JAVASCRIPT的代码,以满足多个页面上的重复或相似的功能。自IE 5.0浏览器发布后,这种情况得到了改善,它带给我们一个新的指令组合方法,可把实现特定功能的代码封装在一个组件内,从而实现多页面的代码重用,使网页编程进入一个全新的天地。这个新的技术就是我们要谈到的DHTML中的“行为”(Behaviors)。
  “行为”作为一个简单易用的组件,它封装了页面上特定的功能或动作。当把一个“行为”附到WEB页面中的一个元件上时,这个元件的原有行为就会有所改变。因此,网页编程者可以开发通用的DHTML指令,并改变原有对象的一些属性,用“行为”来增强一个对象的功能,同时也简化了页面的HTML代码。而且“行为”的创建和使用也非常简单方便,所需的知识也只是原来已经习惯使用的CSS样式表、HTML指令和JAVASCRIPT脚本语言。只要你对此有所了解,有过实际编程的经历,学习并掌握“行为”的使用完全没有问题。我们将以一个改变字体效果的“行为”组件为例来说明如何编写和使用一个“行为”,并体验“行为”给页面编辑带来的优点和方便之处。
  首先新建一个名为font_efftce.htc的文本文件,组成“行为”组件的文件都是以.htc为扩展名,这个文件中的内容就是我们对这个“行为”的描述。它的创建和使用步骤如下:
(1)首先给这个“行为”增加几个事件响应,语句书写格式如下:
< PUBLIC:ATTACH EVENT="onmouseover" ONEVENT="glowit()" / >
< PUBLIC:ATTACH EVENT="onmouseout" ONEVENT="noglow()" / >
< PUBLIC:ATTACH EVENT="onmousedown" ONEVENT="font2yellow()" / >
< PUBLIC:ATTACH EVENT="onmouseup" ONEVENT="font2blue()" / >
  “EVENT”对应所需事件名,在这里分别为:onmouseover,onmouseout,onmousedown,onmouseup四个事件名,你当然可以再增加其它的事件名来满足你的特定需求。“ONEVENT”对应着个自的事件句柄,即事件触发时所调用的函数名称。glowit()函数使字体周围产生一个红色的辉光。noglow()函数是消除字体的辉光效果。Font2yellow()函数是把字体颜色改为黄色。Font2blue()函数是把字体颜色改为蓝色。四个事件的定义都是相似的。

时间: 2024-09-18 05:40:24

认识DHTML中的“行为”组件(读后大有启发)的相关文章

认识DHTML中的“行为”组件

dhtml 在微软IE 5.0版本的浏览器发布以前,网页编程中面对的最大挑战就是不能轻易地创建组件,以达到代码重用和多页面共享的目的.这个问题一直困扰着DHTML(动态 HEML)的网页编程者.他们只能不断地重复书写HTML.CSS和JAVASCRIPT的代码,以满足多个页面上的重复或相似的功能.自IE 5.0浏览器发布后,这种情况得到了改善,它带给我们一个新的指令组合方法,可把实现特定功能的代码封装在一个组件内,从而实现多页面的代码重用,使网页编程进入一个全新的天地.这个新的技术就是我们要谈到

使用DHTML中事件的总结

dhtml 为组件提供事件处理入口,可以极大的提高组件的封闭性,同时又能让组件很好的和外界通信.并且这也是我们已经习惯使用的一种开发模式,.NET.DHTML等都提供了一套完整的事件处理模型.下面是关于使用DHTML中事件的一个总结.   DHTML提供了3种事件的使用方式,它们分别是:   1.Inline HTML: <ELEMENT onXXX='handler'></ELEMENT>   这是最简单最常用的事件绑定方式,不过这里onXXX的值为handler是不太确切的说法

读后有感 - UI设计师必知:线框图、原型和视觉稿

读后有感 - UI设计师必知:线框图.原型和视觉稿 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 线框图:草图,重点在交互的目标上,即业务如何交互完成,是不依赖于平台的,如同数据库设计中的概念

《深入浅出Nodejs》—— 读后总结

这一个月过去了三分之二,加上之前看过这本书三分之一,这才算是看完. 虽然看完一遍,但是这本书内容很深,以后肯定是还要继续翻阅的..... 什么是Nodejs Nodejs有几个特性:异步IO,事件驱动,单线程,跨平台 异步IO可以保证在CPU计算的同时,异步的加载IO,加快了应用的访问.不像传统的服务器是使用什么阻塞IO啊.轮训IO等等,它相当于在发送处理请求时,直接传一个回调函数,当异步的IO结束后,会自动的执行回调. 事件驱动,则是把粒度降低到事件级别.传统的服务器是一个请求分配一个线程进行

在ASP中调用DCOM组件的应用技巧

在ASP中调用DCOM组件的应用技巧 1.编写DCOM组件: 假设我们想通过ASP页面来远程启动DNS服务,并且DNS服务器与Web服务器不为同一台机器.我们可以编写一个ActiveX DLL 来实现这个功能. 首先我们建立一个批处理文件StartDNS.bat,文件中写入:Net Start DNS.将文件保存在DNS服务器的一个目录下,例如C:\ManDNS\: 其次我们编写 Dll 程序如下(VB编写): Public Function StartDNS() As Boolean On E

asp中的ActiveX 组件

active|activex ActiveX 组件作为基于 Web 的应用程序部分在 Web 服务器上运行.组件提供了应用程序的主要功能(如访问数据库),这样就不必创建或重新创建执行这些任务的代码. 数据库访问 可以使用 Database Access 组件在应用程序中访问数据库.然后可以显示表的整个内容.允许用户构造查询以及在 Web 页执行其他一些数据库查询. Ad Rotator 可以使用 Ad Rotator 组件来交替显示图像,并提供从显示的图形到另一个 URL 的链接.在文本文件中保

在jsp中使用smartupload组件上传文件

jsp对上传文件的支持不象php中支持的那么好,直接做成了函数,也不象asp中要通过组件才能实现.jsp 中可以通过javabean来实现.但是我们没有必要自己去写一个上载的bean,在网上已经有了很多成型的技术, smartupload就是其中的一个. 但是smartupload是将文件先读到服务器的内存中,所以上传太大的文件(超过100兆)有可能会出问题, 也算是一个美中不足吧:) 先说一下提交的页面,smartupload组件要求用字节流的方式来提交<FORM action="upl

卸载Windows中的集成组件

大家都知道,微软的软件有个共同特点,就是与操作系统紧密集成,诸如IE.DirectX.Windows Media Player等软件,想不安装都不行,而微软又没给我们提供卸载程序,因此不能直接删除这些组件.可是有时我们还真需要把这些软件卸载掉,如高版本的测试版到期,而Windows又不允许这些组件由高版本降级为低版本,难道说这些Windows组件真的卸不掉吗?其实只要我们选择合适的方法还是可以彻底清除这些组件的. 卸载"IE" 图1 我们只需使用一个特别的工具-"Panthe

实现应用程序中的并行组件共享(二)

当将现有组件修改为并行时,正是将它的激活方式改为使用相对路径和隔离全局状态.重要的是给它一个新的 CLSID.ProgId,并且重命名该文件,然后将这个 CLSID.ProgId 以及新文件名用于后来的并行组件.这样做可以避免在并行版本上再注册该组件的非并行版本而引起的冲突.并行组件和他们以前的非并行版本不向后兼容. 状态存储 对于注册表中存储的状态(设置),需要将状态私有化为该应用程序运行的上下文.可以使用 GetModuleFileName() 函数设置一个虚拟根.应对 HKLM 和 HKC