element에 비헤이버(behavior)를 첨부한다.

인수/파라메터
sVal
필수요소이고, 다음 중 하나의 문자열이다.
urlVal
비헤이버의 주소(URL)를 나타내며, 이 주소는 따옴표로 묶여야한다.
#default#behaviorName
비헤이버 이름으로 인식하는 Explorer의 디폴드 비헤이버(default behavior) 중 하나를 지정한다,
#objID
Object 태그에 id 애트리뷰트로 지정한 비헤이버의 이진수 적용을 위한 인식자이다.
반환값

향후 엘레멘트로 부터 비헤이버를 제거할 때 사용할 수있는 인식자를 반환한다.

특기

이 메서드와 특기사항은 IE5에서 도입되고, 첩부된 원래의 DHTML 비헤이버에만 적용된다. 엘레멘트 비헤이버는 IE5.5의 새로운 기능이며, 엘레멘트에 추가하거나 제거할 수는 없다.

이 메서드로 CSS(Cascading Style Sheets) 사용없이 비헤이버를 첨부할 수 있다.

addBehavior 메서드에서 지정된 비헤이버가 IE에 만들어 넣어진 디폴트 비헤이버들 중의 하나를 호출하지 않으면, addBehavior 호출은, 비헤이버가 첨부되기 전에, IE로 하여금 비동기적으로 비헤이버를 다운로드하도록 한다.

addBehavior 메서드가 비동기적이므로, 그 반환값으로 비헤이버가 성공적으로 엘레멘트에 적용될 수 있는가를 알 수 없다. onreadystatechange 이벤트가 발생하고, 엘레멘트의 readyState 속성이 complete로 설정되어 비헤이버가 엘레멘트에 첨부가 확인되고, 모든 비헤이버 구성원이 스크립팅에 사용될 수 있을 때까지 기다린다. 그렇지 않고 비헤이버가 엘레멘트에 첨부되지 않은 상태에서 비헤이버에서 정의한 구성원의 사용을 시도하면 개체에서 그 특정 구성원은 지원되지 않는다는 스크립트 오류가 발생된다.

주의 : addBehavior 메서드를 사용한 엘레멘트에 비헤이버를 첨부하거나, 인라인에서 CSS behavior 애트리뷰트를 적용하는 것은, 엘레멘트가 문서의 계통도에서 제거되어도 자동적으로 비헤이버가 제거되지 않는다. 그러나 문서에서 스타일 명령으로 정의되어 첨부된 비헤이버는 엘레멘트가 문서의 계통도에서 제거되면 자동적으로 제거된다.
적용
개체scriptIE
참조
removeBehavior behaviors

비헤이버를 첨부하고, 제거하고 목록에 마우스를 올려보라.

<script>
var collBehaviorID=new Array();
var collLI=new Array ();
var countLI=0;
function attachBehavior(){
  collLI=document.all.tags ("LI");
  countLI=collLI.length;
  for (i=0; i < countLI; i++){
    var iID=collLI[i].addBehavior('../public/hilite.htc');
    if (iID) collBehaviorID[i]=iID;
  }
}

function detachBehavior(){
  for (i=0; i < countLI; i++) collLI[i].removeBehavior (collBehaviorID [i]);
}
</script>
<ul>
<li>목록 항목 1
<li>목록 항목 2
<li>목록 항목3
</ul>
<button onclick="attachBehavior()">비헤이버 첨부</button>
<button onclick="detachBehavior()">비헤이버 제거</button>