onbeforeactivate event
Fires immediately before the object is set as the IHTMLDocument2::activeElement.
Syntax
HTML Attribute | <element onbeforeactivate = "handler(event)"> |
Event Property | object.onbeforeactivate = handler; |
attachEvent Method | object.attachEvent("onbeforeactivate", handler) |
addEventListener Method | object.addEventListener("beforeactivate", handler, useCapture) |
Event information
Synchronous | No |
Bubbles | Yes |
Cancelable | Yes |
Event handler parameters
- pEvtObj [in]
Type: IHTMLEventObj
Standards information
There are no standards that apply here.
Remarks
Each document may have up to one active element. Set the active element with the IHTMLElement3::setActive or IHTMLElement2::focus methods. Using the IHTMLElement3::setActive method has no effect on document focus. Using the IHTMLElement2::focus method on an individual element causes the element to gain focus and become the active element.
Using the IHTMLElement2::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 IHTMLDocument2::activeElement of a document can be managed separately. With Microsoft Internet Explorer 6 and later, use the HTMLControlElementEvents::onbeforeactivate event to cancel setting an element as active. Canceling an element's HTMLControlElementEvents::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 IHTMLElement2::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 IHTMLElement2::focus on the next element in the taborder. Shift-tab will force the IHTMLElement2::focus on the previous element in the taborder.
- When fired programmatically by the IHTMLElement2::focus or the document.IHTMLElement3::setActive methods, canceling will have no effect.
Note The HTMLControlElementEvents::onbeforeactivate event cannot be canceled when fired programmatically.
Change activation from the event.IHTMLEventObj::fromElement to the event.IHTMLEventObj::srcElement.
To invoke this event, do one of the following:
- Click an element, other than the IHTMLDocument2::activeElement element of the document.
- Use the keyboard to move focus from the active element to another element.
- Invoke the IHTMLElement3::setActive method on an element, when the element is not the active element.
- Invoke the IHTMLElement2::focus method on an element, when the element is not the active element.
The pEvtObj parameter is required for the following interfaces:
- HTMLFrameSiteEvents2
- HTMLElementEvents
- HTMLElementEvents2
- HTMLLinkElementEvents
- HTMLLinkElementEvents2
- HTMLFormElementEvents
- HTMLFormElementEvents2
- HTMLImgEvents
- HTMLImgEvents2
- HTMLTextContainerEvents
- HTMLTextContainerEvents2
- HTMLAnchorEvents2
- HTMLLabelEvents
- HTMLLabelEvents2
- HTMLSelectElementEvents
- HTMLSelectElementEvents2
- HTMLInputTextElementEvents
- HTMLInputTextElementEvents2
- HTMLOptionButtonElementEvents
- HTMLOptionButtonElementEvents2
- HTMLButtonElementEvents
- HTMLButtonElementEvents2
- HTMLMarqueeElementEvents
- HTMLMarqueeElementEvents2
- HTMLControlElementEvents
- HTMLControlElementEvents2
- HTMLMapEvents
- HTMLMapEvents2
- HTMLAreaEvents
- HTMLAreaEvents2
- HTMLTableEvents
- HTMLTableEvents2
- HTMLScriptEvents
- HTMLScriptEvents2
- HTMLStyleElementEvents
- HTMLStyleElementEvents2
- HTMLInputFileElementEvents
- HTMLInputFileElementEvents2
- HTMLInputImageEvents
- HTMLInputImageEvents2
- HTMLDocumentEvents
See also
Reference
HTMLControlElementEvents::onactivate
HTMLControlElementEvents::onbeforedeactivate
HTMLControlElementEvents::ondeactivate