componentFromPoint Method

Internet Development Index

Returns the component located at the specified coordinates via certain events.

Syntax

sScrollComponent = object.componentFromPoint(iCoordX, iCoordY)

Parameters

iCoordX Required. Integer that specifies the client window coordinate of x.
iCoordY Required. Integer that specifies the client window coordinate of y.

Return Value

String. Returns one of the following possible values:

empty stringComponent is inside the client area of the object.
outsideComponent is outside the bounds of the object.
scrollbarDownDown scroll arrow is at the specified location.
scrollbarHThumbHorizontal scroll thumb or box is at the specified location.
scrollbarLeftLeft scroll arrow is at the specified location.
scrollbarPageDownPage-down scroll bar shaft is at the specified location.
scrollbarPageLeftPage-left scroll bar shaft is at the specified location.
scrollbarPageRightPage-right scroll bar shaft is at the specified location.
scrollbarPageUpPage-up scroll bar shaft is at the specified location.
scrollbarRightRight scroll arrow is at the specified location.
scrollbarUpUp scroll arrow is at the specified location.
scrollbarVThumbVertical scroll thumb or box is at the specified location.
handleBottomBottom sizing handle is at the specified location.
handleBottomLeftLower-left sizing handle is at the specified location.
handleBottomRightLower-right sizing handle is at the specified location.
handleLeftLeft sizing handle is at the specified location.
handleRightRight sizing handle is at the specified location.
handleTopTop sizing handle is at the specified location.
handleTopLeftUpper-left sizing handle is at the specified location.
handleTopRightUpper-right sizing handle is at the specified location.

Remarks

The componentFromPoint method, available as of Microsoft® Internet Explorer 5, is applicable to any object that can be given scroll bars through Cascading Style Sheets (CSS).

The componentFromPoint method may not consistently return the same object when used with the onmouseover event. Because a user's mouse speed and entry point can vary, different components of an element can fire the onmouseover event. For example, when a user moves the cursor over a textArea object with scroll bars, the event might fire when the mouse enters the component border, the scroll bars, or the client region. Once the event fires, the expected element may not be returned unless the scroll bars were the point of entry for the mouse. In this case, the onmousemove event can be used to provide more consistent results.

For the object's sizing handles to appear, designMode must be On and the object must be selected.

Example

This example uses the componentFromPoint method to determine which object the mouse pointer is hovering over.

<HTML>
<HEAD>
<SCRIPT>
/*When this function is activated, an alert pops up displays the component at the position of the pointer. */
function ComponentSnapShot(){
var sElem = "";
sElem = document.body.componentFromPoint(
event.clientX,
event.clientY
);
if (sElem=="")
alert("No component there!");
else
alert("Component: " + sElem);
}
function trackElement(){
var sElem = "";
sElem = document.body.componentFromPoint(
event.clientX,
event.clientY
);
window.status = "mousemove " + event.clientX + ", "
+ event.clientY +
" The mouse pointer is hovering over: " + sElem;
}
</SCRIPT>
</HEAD>
<!-- There are several different events that can be used with componentFromPoint. Below are a few of them.
Be carefull! Not all mouse events can be used with componentFromPoint.  -->
<BODY onmousemove="trackElement()" onmousedown="ComponentSnapShot()" onkeydown="ComponentSnapShot()" oncontextmenu="ComponentSnapShot()">
<TEXTAREA COLS=500 ROWS=500>
This text forces scroll bars to appear in the window.
</TEXTAREA>
</BODY>
</HTML>
This feature requires Microsoft® Internet Explorer 5 or later. Click the following icon to install the latest version. Then reload this page to view the sample.

Standards Information

There is no public standard that applies to this method.

Applies To

A, ACRONYM, ADDRESS, APPLET, AREA, B, BASE, BASEFONT, BDO, BGSOUND, BIG, BLOCKQUOTE, BODY, BR, BUTTON, CAPTION, CENTER, CITE, CODE, COL, COLGROUP, COMMENT, CUSTOM, DD, DEL, DFN, DIR, DIV, DL, DT, EM, EMBED, FIELDSET, FONT, FORM, FRAME, FRAMESET, HEAD, hn, HR, HTML, I, IFRAME, IMG, INPUT type=button, INPUT type=checkbox, INPUT type=file, INPUT type=hidden, INPUT type=image, INPUT type=password, INPUT type=radio, INPUT type=reset, INPUT type=submit, INPUT type=text, INS, ISINDEX, KBD, LABEL, LEGEND, LI, LINK, LISTING, MAP, MARQUEE, MENU, nextID, NOBR, NOFRAMES, NOSCRIPT, OBJECT, OL, OPTION, P, PLAINTEXT, PRE, Q, RT, RUBY, S, SAMP, SCRIPT, SELECT, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, TABLE, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TITLE, TR, TT, U, UL, VAR, WBR, XML, XMP

See Also

doScroll, onscroll