語法: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個應用在自己的網站測試成功