Fires immediately before the object is set as the active element.
No return value.
The DISPID for this event is defined in mshtmdid.h. Use this value to identify the event handler when implementing IDispatch::Invoke.
Bubbles Yes Cancels Yes To invoke
- Click an element, other than the active element of the document.
- Use the keyboard to move focus from the active element to another element.
- Invoke the setActive method on an element, when the element is not the active element.
- Invoke the focus method on an element, when the element is not the active element.
Default action Change activation from the event.fromElement to the event.srcElement.
Each document may have up to one active element. Set the active element with the IHTMLElement3::setActive or IHTMLControlElement::focus methods. Using the IHTMLElement3::setActive method has no effect on document focus. Using the IHTMLControlElement::focus method on an individual element causes the element to gain focus and become the active element.
Using the IHTMLControlElement::focus method on a document that does not have the focus moves the document to the front of the display. Additionally, the document's active element gains focus.
For a given display, only one element has focus at any given time. Striking a key directly affects only the element with focus. Events fired by that keystroke may be scripted to affect other documents and child elements.
With Microsoft Internet Explorer 5.5 and later, focus on a document, and the active element of a document can be managed separately. With Internet Explorer 6 and later, use the HTMLFrameSiteEvents::onbeforeactivate event to cancel setting an element as active. Canceling an element's HTMLFrameSiteEvents::onbeforeactivate event has three different behaviors, depending on the action which fired the event.
- When fired by a user clicking on the element, canceling will force the IHTMLDocument4::focus on the parent element and bubble up the chain until it hits a focusable element.
- When fired by a user tabbing through the document, canceling will force the IHTMLDocument4::focus on the next element in the taborder. Shift-tab will force the IHTMLDocument4::focus on the previous element in the taborder.
- When fired programmatically by the IHTMLDocument4::focus or the document. IHTMLElement3::setActive methods, canceling will have no effect.Note The HTMLFrameSiteEvents::onbeforeactivate event cannot be canceled when fired programmatically.