behavior property

Sets or retrieves the location of the Dynamic HTML (DHTML) behaviorDHTML Behaviors.

Syntax

Integer value = object.put_behavior( v);Integer value = object.get_behavior(* sBehavior);

Property values

Type: BSTR

url(sLocation) (url(sLocation))

Script implementation of a DHTML behavior, where sLocation is an absolute or relative URL.

url(#objID) (url(#objID))

Binary implementation of a DHTML behavior, where objID is the IHTMLElement::id attribute specified in an object tag.

url(#default#behaviorName) (url(#default#behaviorName))

The application's  default behavior, identified by its behaviorName.

String format

url(sLocation) | url(#objID) | url(#default#behaviorName)

CSS information

Applies To All elements
Media visual
Inherited no
Initial Value none

Remarks

Windows Internet Explorer 8. The IHTMLRuleStyle2::behavior attribute is an extension to CSS, and can be used as a synonym for behavior in IE8 Standards mode.

You can apply multiple behaviors to an element by specifying a space-delimited list of URLs for the IHTMLRuleStyle2::behavior attribute, as shown in the following syntax:

<element style="behavior:url(a1.htc) url(a2.htc) ..." >

In the following section, one example demonstrates how you can apply two behaviors to an element to achieve a combination of effects. Conflicts resulting from applying multiple behaviors to an element are resolved based on the order in which the behavior is applied to the element. Each succeeding behavior takes precedence over the previous behavior. For example, if multiple behaviors set the element's color, the prevailing color is the one set by the behavior last applied to the element. The same rule applies in resolving name conflicts, such as with property, method, or event names exposed by multiple behaviors.

Once the IHTMLRuleStyle2::behavior property is defined for the element, the IHTMLElement2::addBehavior method can be used to dynamically attach additional behaviors to the element.

Note  A behavior attached to an element by using the IHTMLElement2::addBehavior method or by applying the proposed Cascading Style Sheets (CSS) IHTMLRuleStyle2::behavior attribute inline is not automatically detached from the element when the element is removed from the document hierarchy. However, a behavior attached using a style rule defined in the document is detached automatically as the element is removed from the document tree.

 

Examples

The following examples demonstrate various ways of applying the IHTMLRuleStyle2::behavior property on a page.

This example implements an expanding and collapsing table of contents by applying the behavior as an inline style to the li element. In this case, two behaviors implemented as HTC have been applied to the element to achieve a combination of mouseover highlighting and expanding/collapsing effect.

<ul>
  <li style="behavior:url(ul.htc) url(hilite.htc)">HTML</li>
  <ul>
      <li>Internet Explorer authoring tips</li>
      :
  </ul>
</ul>

This example sets the IHTMLRuleStyle2::behavior property in script.

Code example: http://samples.msdn.microsoft.com/workshop/samples/components/htc/toc/toc.htm

<script>
   function window.onload()
   {
      idTopic1.style.behavior = "url(ul.htc) url(hilite.htc)";
   }
</script>
 :
<ul>
  <li id=idTopic1>HTML Authoring</li>
  <ul>
      <li>Internet Explorer authoring tips</li>
      :
  </ul>
</ul>

If the expanding/collapsing example were to use a DHTML behavior implemented in C++ as an ActiveX control, the code would look slightly different. In this example, the IHTMLRuleStyle2::behavior attribute points to the IHTMLElement::id property of the object specified in the object element.

<style>
   .Collapsing { behavior:url(#myObject) }
</style>
<object id=myObject ... ></object>
<ul>
  <li class="Collapsing">HTML Authoring</li>
  <ul>
      <li>Internet Explorer authoring tips</li>
      :
  </ul>
</ul>

Requirements

Minimum supported client

Windows XP

Minimum supported server

Windows Server 2003

Header

Mshtml.h

IDL

Mshtml.idl

DLL

Mshtml.dll

See also

Conceptual

Using DHTML Behaviors

Other Resources

Behavioral Extensions to CSS