Document: elementFromPoint() ã¡ã½ãã
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2015å¹´7æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
elementFromPoint() ã¡ã½ãã㯠Document ãªãã¸ã§ã¯ãä¸ã§å©ç¨å¯è½ã§ãæå®ãã座æ¨ï¼ãã¥ã¼ãã¼ãããã®ç¸å¯¾åº§æ¨ï¼ã«ãããæä¸ä½ã®è¦ç´ (Element) ãè¿ãã¾ãã
æå®ãããç¹ã®è¦ç´ ãä»ã®ææ¸ï¼ä¾ãã° <iframe> ã®ææ¸ï¼ã«å±ããå ´åããã®ææ¸ã®è¦ªè¦ç´ ï¼<iframe> èªèº«ï¼ãè¿ããããæå®ãããç¹ã®è¦ç´ ãç¡åã¾ã㯠XBL ã§çæãããã³ã³ãã³ããä¾ãã°ããã¹ãããã¯ã¹ã®ã¹ã¯ãã¼ã«ãã¼ã§ããå ´åãæåã®ç¡åã§ã¯ãªãç¥å
è¦ç´ ï¼ä¾ãã°ããã¹ãããã¯ã¹ï¼ãè¿ããã¾ãã
pointer-events ã none ã«è¨å®ããã¦ããè¦ç´ ã¯ç¡è¦ããããã®ä¸ã®è¦ç´ ãè¿ããã¾ãã
ãã®ã¡ã½ãããä»ã®ææ¸ï¼<iframe> ã®ãµãææ¸ãªã©ï¼ã§å®è¡ãããå ´åã座æ¨ã¯ã¡ã½ãããå¼ã³åºãããææ¸ããã®ç¸å¯¾åº§æ¨ã¨ãªãã¾ãã
æå®ããç¹ãææ¸ã®å¯è¦é åå¤ã«ããå ´åããã©ã¡ããã®åº§æ¨ãè² ã®å¤ã§ããå ´åãçµæã¯ null ã¨ãªãã¾ãã
è¦ç´ å
ã®ç¹å®ã®ä½ç½®ãè¦ã¤ããå¿
è¦ãããå ´åã¯ã Document.caretPositionFromPoint() ã使ç¨ãã¦ãã ããã
æ§æ
elementFromPoint(x, y)
弿°
x-
ç¹ã®æ°´å¹³åº§æ¨ã§ãç¾å¨ã®ãã¥ã¼ãã¼ãã®å·¦ç«¯ããã®ç¸å¯¾å¤ã§ãã
y-
ç¹ã®åç´åº§æ¨ã§ãç¾å¨ã®ãã¥ã¼ãã¼ãã®ä¸ç«¯ããã®ç¸å¯¾å¤ã§ãã
è¿å¤
æå®ããã座æ¨ã«ããæãä¸ã®è¦ç´ ï¼Element ãªãã¸ã§ã¯ãï¼ã§ãã
ä¾
ãã®ä¾ã§ã¯ãåº§æ¨ (2, 2) ã®ä¸ã«ããæ®µè½è¦ç´ ã®ç¾å¨ã®è²ãè¨å®ããããã®ãã¿ã³ã 2 ã¤ä½æãã¦ãã¾ãã
JavaScript
function changeColor(newColor) {
elem = document.elementFromPoint(2, 2);
elem.style.color = newColor;
}
changeColor() ã¡ã½ããã¯ãæå®ããä½ç½®ã«ããè¦ç´ ãåå¾ãããã®è¦ç´ ã®ç¾å¨ã®åæ¯è²ã® color ããããã£ã newColor 弿°ã§æå®ããè²ã«è¨å®ãã¾ãã
HTML
<p id="para1">ãã¡ããããã¹ãã§ã</p>
<button onclick="changeColor('blue');">é</button>
<button onclick="changeColor('red');">赤</button>
HTML ã«ã¯ãè²ã夿´ããæ®µè½ã¨ãè²ãéã«å¤æ´ãããã¿ã³ãè²ã赤ã«å¤æ´ãããã¿ã³ã® 2 ã¤ãç¨æããã¦ãã¾ãã
çµæ
仿§æ¸
| 仿§æ¸ |
|---|
| CSSOM View Module > # dom-document-elementfrompoint > |