语法:behavior : url ( url ) | url ( #objID ) | url ( #default#behaviorName ) 取值:
url ( url ) : 使用绝对或相对 url 地址指定DHTML行为组件(.htc)
url ( #objID ) : 使用二进制实现(作为 ActiveX? 控件)的行为。此处的 #objID 为 object 对象的 id 属性值
url ( #default#behaviorName ) : IE的默认行为。由行为的名称标识( #behaviorName )指定
说明:设置或检索对象的DHTML行为。多个行为之间用空格隔开。
当多个附加到同一要素的行为发生冲突时,其结果确决于行为应用于要素的顺序。后一个行为的优先权高于前一个行为。例如,假如多个行为用于设置对象颜色,其结果将会由最后一个应用到要素的行为决定。同样的规则适用于不同行为提供的属性、事件、方法所发生的名称冲突。
可以使用 addBehavior 方法动态的将行为附着到对象。
此属性对于 currentStyle 对象而言是只读的。对于其他对象而言是可读写的。
务必注意使用样式表(CSS)的 behavior 属性内联定义或使用 addBehavior 方法附着的行为不会在对象从文档树中移除时被自动分离。而在文档中的样式表规则定义的行为会在对象从文档树中移除时被自动分离。
对应的脚本特性为 behavior 。 示例:p { behavior: url(#default#download); }
div { behavior: url(fly.htc) url(shy.htc); }
div { behavior: url(#myObject); }
------------------------------------------------------分割线YO--p-l-u-r-y----------------------------------------------------------------
------------------------应用1:刷新也保留输入框里面的文字
.sHistory {}{behavior:url(#default#savehistory);}
------------------------应用2:调用脚本
<html>
<head>
<style>
h1 { behavior: url(behave.htc) }
</style>
</head>
<body>
<h1>把鼠标放在这里</h1>
</body>
</html>
behave.htc
<component>
<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=255
}
function low_lite()
{
element.style.color=0
}
</script>
</component>
-------------------------应用3:超过规定字符长度显示...
============================title.htc=============================
==================================================================
<public:attach event=oncontentready onevent="init();" />
<public:attach event=onmouseover onevent="onMouseOver();" />
<public:attach event=onmouseout onevent="onMouseOut();" />
<public:property name='Length' />
<script language="JavaScript" type="text/JavaScript">
var objLayer;
var all_text;//记录全部的内容
var show_text;//记录部分内容
function init()
{
var length = parseInt(this.Length);
all_text = element.innerText.Trim();
if(all_text.Length()>length)
show_text = all_text.subStrB(0,length)+"...";
else
show_text = all_text;
element.innerText=show_text;
}
function onMouseOver()
{
element.innerText=all_text;
}
function onMouseOut()
{
element.innerText=show_text;
}
function String.prototype.Trim()
{
return this.replace(/^//s*/g,"").replace(//s*/$/g,"");
}
function String.prototype.Length()
{
var str=this;
var count=0;
for(var i=0;i<str.length;i++)
{
if(str.charCodeAt(i)>255)
count+=2;
else
count++;
}
return count;
}
//取得字符串字节长度
function String.prototype.subStrB(start,lenB)
{
var str=this;
var count=0;
var tempstr="";
for(var i=0;count<lenB;i++)
{
if(str.charCodeAt(i)>255)
{count+=2;}
else
{count++}
tempstr+=str.substr(i,1);
}
return tempstr;
}
</script>
==================================实例===============================
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<style type="text/css">
<!--
.makeupTitle
{
background-color: #A7AAE4;
behavior: url("titleHTC.htc");
}
-->
</style>
<BODY>
<TABLE>
<TR>
<TD class="makeupTitle" Length="20">一个中文的长度是2,测试一下!</TD>
</TR>
</TABLE>
</BODY>
</HTML>
--------------------------应用4:为所有属性加:hover事件------------------
<style type="text/css" media="projection, screen">
.whatever {
background: #808080; padding: 20px; }
.whatever:hover, .whateverhover {
background: #eaeaea;
} </style>
<!-- Additional IE/Win specific style sheet (Conditional Comments) -->
<!--[if lte IE 6]>
<style type="text/css" media="projection, screen">
.whatever {
behavior: expression(
this.onmouseover = new Function("this.className += ' whateverhover';"),
this.onmouseout = new Function("this.className = this.className.replace('whateverhover', '');"),
this.style.behavior = null
);
}
/*.whatever {
background-color: expression(
!this.js ? (this.js = 1, this.onmouseover = new Function("this.className += ' whateverhover';"),
this.onmouseout = new Function("this.className = this.className.replace('whateverhover', '');")
) : false);
);
}*/
/*.whatever {
background-color: expression(
this.onmouseover = new Function("this.className += 'whateverhover';"),
this.onmouseout = new Function("this.className = this.className.replace('whateverhover', '');")
);
}*/
</style>
<![endif]-->
----------------------------又分割---------------------------------
通过调用htc达到用css实现js程序的功能,behavior展现给我们的功能相当强悍.
百度空间未做测试,不知baidu屏蔽这个没,以上4个应用在自己的网站测试成功