行为 - 什么是行为?
IE 5引入了DHTML行为(DHTML behaviors)。行为(Behaviors)是一种借助CSS的便利性向HTML元素添加DHTML功能性的方法。
行为如何工作呢?通过使用XML,我们可以把行为链接到网页中的任何元素,并对元素进行操作。
DHTML行为不使用<script>标签,它们使用的是名为"behavior"的CSS属性。"behavior"规定了指向某个HTC文件的URL,此文件含有实际的行为(HTC文件使用XML编写)。
语法:
behavior: url(some_filename.htc)
注释:behavior属性被IE 5以及更高的版本支持,其他所有的浏览器都会忽略它。这意味着Mozilla、Firefox、Netscape以及其他浏览器只能识别常规的内容,而只有IE 5+可以看到DHTML behaviors。
实例
下面的HTML文件拥有一个<style>元素,其中定义了针对<h1>元素的行为:
以下为引用的内容:
<html>
<head>
<style type="text/css">
h1 { behavior: url(behave.htc) }
</style>
</head>
<body>
<h1>Mouse over me!!!</h1>
</body>
</html>
XML文档"behave.htc"如下:
以下为引用的内容:
<attach for="element" event="onmouseover" handler="hig_lite" />
<attach for="element" event="onmouseout" handler="low_lite" />
<script type="text/javascript">
function hig_lite()
{
element.style.color='red'
}
function low_lite()
{
element.style.color='blue'
}
</script>
behavior文件含有一段JavaScript,以及用于脚本的事件处理程序。
TIY (请把鼠标放到例子中的文本上面)。
下面的HTML文件拥有一个<style>元素,其中定义了针对拥有id为"typing"的元素的行为:
以下为引用的内容:
<html>
<head>
<style type="text/css">
#typing
{
behavior:url(typing.htc);
font-family:'courier new';
}
</style>
</head>
<body>
<span id="typing" speed="100">IE5 introduced DHTML behaviors.
Behaviors are a way to add DHTML functionality to HTML elements
with the ease of CSS.<br /><br />How do behaviors work?<br />
By using XML we can link behaviors to any element in a web page
and manipulate that element.</p>
</span>
</body>
</html>
XML文档"typing.htc"如下:
以下为引用的内容:
<attach for="window" event="onload" handler="beginTyping" />
<method name="type" />
<script type="text/javascript">
var i,text1,text2,textLength,t
function beginTyping()
{
i=0
text1=element.innerText
textLength=text1.length
element.innerText=""
text2=""
t=window.setInterval(element.id+".type()",speed)
}
function type()
{
text2=text2+text1.substring(i,i+1)
element.innerText=text2
i=i+1
if (i==textLength){clearInterval(t)}
}
</script>