| CaptureEvents() | Go to Event Method |
Áï, window, document, layer Object¿¡ À̰ÍÀ» ÁöÁ¤Çϸé À̵é Object Àüü¿¡¼ captureEventsÇÑ À̺¥Æ®¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â ¸»ÀÔ´Ï´Ù. ÆäÀÌÁöÀÇ ³»ºÎ, ·¹À̾îÀÇ Àüü µî¿¡°Ô À̺¥Æ®¸¦ ÁöÁ¤ÇÏ¸é ±× À̺¥Æ®¿¡ ´ëÇØ¼ ¸ðµç Æ÷ÇÔµÈ ³»¿ë¹°ÀÌ captureEvents(À̺¥Æ®)·Î ÁöÁ¤ÇÑ À̺¥Æ®¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
°¡·É onclick¸¦ layer¿¡°Ô captureEvents(CLICK)Çϸé layerÀÇ ³»ºÎ ¾Æ¹«µ¥³ª ¸¶¿ì½º·Î ´·¯µµ À̺¥Æ®°¡ È£Ã⠵˴ϴÙ.
function click() {
alert("D1 ·¹À̾ ¸¶¿ì½º·Î ´·¶½À´Ï´Ù.");
}
function init() {
if(n4) {
document.D1.document.captureEvents(Event.CLICK);
document.D1.document.onclick = click
}
else if(e4) document.all.D1.onclick = click
}
</script>
</head>
<body onLoad="init()">
<div id=D1 style="position:absolute; left:200; top:100; width:200; height:200;
clip:rect(0,200,200,0); layer-background-color:yellow;">
<a href="#" onClick="alert('Link Clicked')">Link Click</a>
<p><form><input type=button value="Æû Ŭ¸¯" onClick="alert('Form Clicked')"></form>
</div>
½ÇÇà ÇϱâÀÌÁ¦ D1À̶õ À̸§À» °¡Áø layerÀüü¿¡¼ ¾Æ¹«µ¥³ª ¸¶¿ì½º¸¦ ´©¸£¸é click()¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¶§, layer ¾ÈÀÇ ¸µÅ©³ª ´Ù¸¥ clickÀ̺¥Æ® Çîµé·¯¸¦ °¡Áö°í ÀÖ´Â Object´Â onclick¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. ¿Ö³ÄÇϸé, ÀÚ½ÅÀÇ »óÀ§ layer°¡ click À̺¥Æ®¸¦ captureÇ߱⠶§¹®ÀÔ´Ï´Ù. ¸µÅ©³ª ÆûÀº ¸ðµÎ document object¿¡ ¼ÓÇÏ´Â objectÀÔ´Ï´Ù. document.link, document.form ÀÔ´Ï´Ù. ·¹À̾î´Â document¸¦ °¡Áú ¼ö ÀÖ½À´Ï´Ù. ·¹À̾ °¡Áú¼ö ÀÖ´Â document´Â Æû, À̹ÌÁö, ¸µÅ©, ·¹ÀÌ¾î µî window object°¡ °¡Áú ¼ö ÀÖ´Â °Í°ú ¶È °°Àº objectµéÀ» °¡Áú ¼ö ÀÖ½À´Ï´Ù. ÀÌÁ¡¿¡¼ ·¹À̾î(css-p)´Â ÇÁ·¹ÀÓ°ú °³³äÀÌ °°½À´Ï´Ù.
ie4¿¡¼´Â ÀÌ °³³äÀÌ ¾ø½À´Ï´Ù. ÇÏÀ§¸¦ °¡Áú ¼ö´Â ÀÖÁö¸¸ °¢ ÇÏÀ§µéÀº µ¶¸³ÀûÀÔ´Ï´Ù. ÀÚ½ÅÀ» °¡Áö°í ÀÖ´Â »óÀ§¿¡ ¹°¸®ÀûÀ¸·Î ÆäÀÌÁö¿¡¼ÀÇ À§Ä¡´Â »óÀ§¿¡ Æ÷ÇÔµÇÁö¸¸ ÇÏÀ§¿Í »óÀ§´Â µÑ ´Ù °°Àº »óÀ§ object, all ¿¡ ¿¬°áµË´Ï´Ù.
<html>
<head>
<style>
#L1 { position:absolute; left:200; top:100; width:200; height:200; clip:rect(0,200,200,0);
background-color:yellow; layer-background-color:yellow;
}
#L2 { position:absolute; left:50; top:50; width:100; height:100; clip:rect(0,100,100,0);
background-color:red; layer-background-color:red;
}
</style>
<script language="JavaScript">
n4 = (document.layers) ? true : false;
function parentClick() {
alert("»óÀ§ ·¹À̾î");
}
function sonClick() {
alert("ÇÏÀ§ ·¹À̾î");
}
function init() {
if (n4) {
document.L1.document.onclick = parentClick;
document.L1.document.L2.document.onclick = sonClick;
}
else {
document.all.L1.onclick = parentClick;
document.all.L2.onclick = sonClick;
}
}
</script>
</head>
<body onLoad="init()">
<div id=L1>L1
<div id=L2>L2</div>
</div>
</body>
</html>
½ÇÇà Çϱâ»óÀ§ÀÇ ·¹À̾î¿Í ÇÏÀ§ÀÇ ·¹À̾îÀÇ document¿¡°Ô °¢°¢ click À̺¥Æ® Çîµé·¯¸¦ ÁöÁ¤Çß½À´Ï´Ù. captureEvents()¸¦ ÁöÁ¤ÇÏÁö ¾Ê¾Ò½À´Ï´Ù. nn4ÀÇ °æ¿ì °¢°¢ÀÇ À̺¥Æ®°¡ µû·Î ½ÇÇàÇÕ´Ï´Ù. ie4ÀÇ °æ¿ì´Â »óÀ§¿¡¼ À̺¥Æ®¸¦ ½ÇÇàÇϸé, Áï ³ë¶õ»ö ¹ÙÅÁÀ» ´©¸£¸é »óÀ§ÀÇ À̺¥Æ®¸¦ ½ÇÇàÇÕ´Ï´Ù. ÇÏÀ§ÀÇ À̺¥Æ® Áï, »¡°»öÀ» ´©¸£¸é ÇÏÀ§ÀÇ À̺¥Æ®¸¦ ½ÇÇàÇÏ°í ±×¸®°í ÀÚ½ÅÀ» Æ÷ÇÔÇϰí ÀÖ´Â »óÀ§ÀÇ À̺¥Æ®¸¦ ½ÇÇàÇÕ´Ï´Ù.
»óÇÏÀ§°¡ °°Àº À̺¥Æ®¸¦ °¡Áö°í ÀÖÀ» ¶§, ie4´Â ÀڽŰú ÀÚ½ÅÀ» °¡Áö°í ÀÖ´Â »óÀ§ÀÇ À̺¥Æ®µµ ½ÇÇàÀ» ÇÕ´Ï´Ù. ÇÏÁö¸¸, nn4´Â ¿ÀÁ÷ ÀÚ½ÅÀÇ À̺¥Æ®¸¸ ½ÇÇàÀ» ÇÕ´Ï´Ù. ¿©±â¼ ie4ó·³ µÎ À̺¥Æ®¸¦ ¿¬°èÇØ¼ »ç¿ëÇÒ ¶§ captureEvents()¸¦ »ç¿ëÇÕ´Ï´Ù. ie4´Â »óÀ§¿¡ À̺¥Æ®¸¦ ÁöÁ¤Çϸé ÀÚµ¿À¸·Î nn4ÀÇ capturEvents()¸¦ ÁöÁ¤ÇÑ °Í°ú °°Àº ÀÛµ¿À» ÇÕ´Ï´Ù. ¼±ÅÃÀÇ ¿©ºÎ°¡ ¾ø½À´Ï´Ù.
function init() {
if (n4) {
document.L1.captureEvents(Event.CLICK)
document.L1.onclick = parentClick
document.L1.document.L2.document.onclick = sonClick
}
else {
document.all.L1.onclick = parentClick
document.all.L2.onclick = sonClick
}
}
½ÇÇà ÇϱâÀ§ÀÇ init()ÇÔ¼ö¿¡¼ nn4¿¡°Ô L1 ·¹À̾°Ô click À̺¥Æ®¸¦ captureEvent()¸¦ ÁöÁ¤Çß½À´Ï´Ù. nn4¿¡¼ captureEvents()´Â window, document, layerÀÇ methodÀÔ´Ï´Ù. µû¶ó¼, L1.captureEvents(), L1.document.captureEvents()·Î µÑ ´Ù »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. (µÎ °¡ÁöÀÇ Â÷ÀÌÁ¡ÀÌ Á¶±Ý ÀÖ½À´Ï´Ù. ¾Æ·¡¿¡¼ ¼³¸íÀ» ÇÏÁÒ..)
½ÇÇàÇϸé ie4´Â ´Ù¸¥ Á¡ÀÌ ¾ø½À´Ï´Ù. nn4´Â »óÀ§¿¡¼ click À̺¥Æ®¸¦ captureEvents()ÇØ¼ ÇÏÀ§ÀÇ °°Àº À̺¥Æ®´Â ³ª¿ÀÁö ¾Ê½À´Ï´Ù. »óÀ§ÀÇ ·¹À̾ °¡Áö°í ÀÖ´Â ¸ðµç elementÀÇ click¸¦ parentClick()¿¡ ÁöÁ¤À» ÇØ¼ ±×·¸½À´Ï´Ù.
captureEvents()´Â ´Ü¼øÈ÷ ÇÏÀ§ÀÇ À̺¥Æ®¸¦ °¡·Îä °©´Ï´Ù. ±× °¡·Îæ ÇÏÀ§ÀÇ À̺¥Æ®¸¦ ÀÚ½ÅÀÇ À̺¥Æ® ÁöÁ¤ÇÔ¼ö·Î ¹Ù²Ù¾î¼ ÁöÁ¤µÈ ÇÔ¼ö parentEvent()¸¦ ½ÇÇàÇÕ´Ï´Ù. Áï, ÇÏÀ§ÀÇ À̺¥Æ® Çîµé·¯¿¡ ÁöÁ¤ÇÑ ÇÔ¼ö¸¦ °¡·Îä °©´Ï´Ù. À§ÀÇ sonClick()¸¦ ¸»ÀÔ´Ï´Ù. ¸¸¾à ·¹À̾î L2°¡ clickÀ̺¥Æ®¿¡ ÁöÁ¤µÈ °íÀ¯ÀÇ ÀÛ¾÷ÀÌ ÀÖ´Ù¸é ±×°ÍÀº ½ÇÇàÀ» ÇÕ´Ï´Ù. ´Ù¸¸, À̺¥Æ® Çîµé·¯¿¡ ÁöÁ¤ÇÑ sonClick()¸¸ »óÀ§°¡ °¡Á® °©´Ï´Ù. ·¹À̾°Ô´Â ƯÁ¤ÇÑ ÀÛ¾÷ÀÌ ¾ø½À´Ï´Ù. ´Ü¼øÈ÷ ¸î°³ÀÇ element¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ´Â block elementÀÔ´Ï´Ù. ÇÏÀ§·¹À̾î L2¿¡°Ô ¸µÅ©°¡ ÀÖ´Ù¸é ±× ¸µÅ©´Â ÁöÁ¤µÈ ÀÛ¾÷À» ¼öÇàÇÕ´Ï´Ù. ¸µÅ©ÀÇ °íÀ¯ÀÛ¾÷Àº ¿¬°áµÈ ¹®¼¸¦ ºÒ·¯¿À´Â °ÍÀÔ´Ï´Ù. Áï, ¿¬°áµÈ ¹®¼·Î À̵¿ÇÕ´Ï´Ù. (È¥¶õ½º·´ÁÒ. ¾ÆÁ÷ ¸¹ÀÌ ³²¾Ò¾î¿ä.. :)
<div id=L1>L1
<div id=L2>
L2
<a href="javascript:alert('HREF')" onClick="alert('¸µÅ© À̺¥Æ®')">¸µÅ©</a>
</div>
</div>
½ÇÇà ÇϱâÇÏÀ§ ·¹À̾î L2¿¡ ¸µÅ©¸¦ ³Ö¾ú½À´Ï´Ù. ÀÌ ¸µÅ©ÀÇ À̺¥Æ® Çîµé·¯µµ ³ª¿ÀÁö ¾Ê½À´Ï´Ù. ¸µÅ©´Â ·¹À̾î L2¿¡ ¼ÓÇϰí L2´Â »óÀ§ ·¹À̾î L1¿¡°Ô Æ÷ÇԵDZ⠶§¹®ÀÔ´Ï´Ù. µû¶ó¼ L2 ·¹À̾îÀÇ ¸ðµç click À̺¥Æ®¸¦ °¡Áö´Â ObjectÀÇ click À̺¥Æ® Çîµé·¯´Â È£ÃâµÇÁö ¾Ê½À´Ï´Ù. ³ª¿ÀÁö ¾Ê½À´Ï´Ù. ´Ù¸¸, ÀÚ½ÅÀÇ °íÀ¯ÀÛ¾÷¸¸ ÇÕ´Ï´Ù. ±×·¡¼ href¿¡ ÁöÁ¤µÈ ¹®¼ alert('HREF')¸¸ ³ª¿É´Ï´Ù. ie4ÀÇ °æ¿ì´Â ´Ù ³ª¿É´Ï´Ù. ±×¸®°í HREF°¡ ¸¶Áö¸·¿¡ ³ª¿É´Ï´Ù. À̰ÍÀº ie4, nn4 µÑ ´Ù °°Àº Á¡ÀÔ´Ï´Ù. (½ÉºÃ´Ù~ :) Áï, ÇÏÀ§ »óÀ§°¡ °°Àº À̺¥Æ®¸¦ °¡Áö°í ÀÖÀ» ¶§ À̺¥Æ®¸¦ ´Ù ¼öÇàÇÏ°í °íÀ¯ÀÛ¾÷À» ÇÕ´Ï´Ù. ¾î¶² ObjectÀÇ À̺¥Æ®´Â ±× objectÀÇ ½ÇÇà Àü¿¡ ÀϾٴ JavaScriptÀÇ ±âº»¿¡ Æ÷ÇԵ˴ϴÙ.
document.L1.document.L2.document.links[0]L1.captureEvents(Event.CLICK)·Î click À̺¥Æ®°¡ ¹ÌÄ¡´Â ¹üÀ§´Â ±½Àº ±ÛÀÚÀÔ´Ï´Ù. ¸ðµç ÇϺÎÀÇ À̺¥Æ®´Â ÀÚ½ÅÀÇ À̺¥Æ®¸¦ »ç¿ëÇÏÁö ¸øÇÏ°í »óÀ§¿¡¼ ÁöÁ¤ÇÑ À̺¥Æ®¸¦ »ç¿ëÇÕ´Ï´Ù.
¿©±â¼ nn4¿¡°Ô ÇÏÀ§ÀÇ ·¹À̾îÀÇ À̺¥Æ®¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÏ´Â °ÍÀÌ routeEvent()ÀÔ´Ï´Ù. »óÀ§°¡ À̺¥Æ®¸¦ captureEvents()ÇßÀ» ¶§, °°Àº À̺¥Æ®¸¦ °¡Áö´Â ÇÏÀ§ÀÇ À̺¥Æ®¸¦ ½ÇÇàÇÒ ¼ö ÀÖ°Ô ÇØÁÝ´Ï´Ù. ÀÌ routeEvent()´Â captureEvents()·Î captureÇÑ À̺¥Æ®ÀÇ À̺¥Æ® Çîµé·¯ÀÇ ÁöÁ¤ÇÔ¼ö parentClick() ¾È¿¡¼ ½ÇÇàÇØ¾ß ÇÕ´Ï´Ù.
function parentClick(e) {
alert("»óÀ§ ·¹À̾î")
this.routeEvent(e)
}
nn4¿¡¼ »óÇÏÀ§ÀÇ À̺¥Æ®¸¦ captureEvents(), routeEvent()·Î ¿¬°á ÇßÀ»¶§, routeEvent()¸¦ »óÀ§ÀÇ À̺¥Æ® Çîµé·¯ÀÇ
ÁöÁ¤ÇÔ¼ö¿¡¼ »ç¿ëÇϹǷÎ, À̺¥Æ®ÀÇ ½ÇÇà¼ø¼°¡ »óÀ§ -> ÇÏÀ§°¡ µË´Ï´Ù. ÀÌÁ¦ ÇÏÀ§ ·¹À̾
´©¸£¸é »óÀ§ÀÇ À̺¥Æ®¸¦ ½ÇÇàÇϰí ÇÏÀ§ ·¹À̾îÀÇ À̺¥Æ®¸¦ ½ÇÇàÇÕ´Ï´Ù. Áï, sonClick()ÇÔ¼ö°¡ È£ÃâµË´Ï´Ù.
ÇÏÀ§ ·¹À̾îÀÇ ¸µÅ©¸¦ ´©¸£¸é »óÀ§ÀÇ ·¹À̾î À̺¥Æ®´Â ÀÏ¾î ³ª´Âµ¥, ÀÚ½ÅÀ» °¡Áö°í ÀÖ´Â ÇÏÀ§ÀÇ ·¹À̾î L2ÀÇ À̺¥Æ®´Â ÀϾÁö ¾Ê½À´Ï´Ù. ¿©±â¼ nn4¿Í ie4ÀÇ ·¹ÀÌ¾î ¿¡¼ÀÇ Â÷ÀÌÁ¡ÀÔ´Ï´Ù. ie4´Â °¢°¢ÀÇ ·¹À̾ µ¶¸³ÀûÀÎ Object·Î º¸Áö¸¸, nn4´Â ·¹À̾î´Â ÇϳªÀÇ »õ·Î¿î âÀÔ´Ï´Ù. Áï, ÀÚ½ÅÀÌ document¸¦ °¡Áú¼ö Àִ âÀ̶ó°í ¸»ÇÒ¼ö ÀÖ½À´Ï´Ù.
L2 ·¹À̾î¿Í Æ÷ÇÔÇϰí ÀÖ´Â ¸µÅ©´Â ¸Ç óÀ½ ¿¹ ¿¡¼ ó·³ °¢±â À̺¥Æ®¸¦ ÁöÁ¤ÇÑ »óȲÀÔ´Ï´Ù. ¸µÅ©´Â L1 ·¹À̾îÀÇ documentÀÎ L2·¹À̾îÀÇ document.linkÀÔ´Ï´Ù. °èÃþÀÌ µÎ ´Ü°èÀÔ´Ï´Ù. ±×·¡¼, ÇÏÀ§ÀÇ ·¹À̾¼µµ Áö±Ý±îÁö¿Í °°ÀÌ L2 ·¹À̾ captureEvents() ÇØÁÖ¾î¾ß L2 ·¹À̾îÀÇ click À̺¥Æ®°¡ È£ÃâµË´Ï´Ù. º¹ÀâÇÏ´Ù°í ÇÒ¼öµµ ÀÖÁö¸¸, ´õ ¼¼¹ÐÇÑ À̺¥Æ® Á¶ÀýÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù. Áï, ÇÏÀ§ÀÇ ·¹À̾î´Â »óÀ§ÀÇ ·¹À̾îÀÇ documentÀÔ´Ï´Ù.
document.L1.document.L2.document.links[0]±½Àº ±Û¾¾°¡ L1 ·¹À̾îÀÇ captureEvents(Event.CLICK)ÀÇ ¹üÀ§ÀÔ´Ï´Ù. L1 ·¹À̾îÀÇ ÇϺΠ¸ðµÎ¿¡°Ô ¹üÀ§°¡ ¹ÌĨ´Ï´Ù. ·¹À̾îÀÇ ÇϺΰ¡ ¾îµð±îÁö Àΰ¡¿ä? ·¹À̾î´Â document¸¦ °¡Áú ¼ö ÀÖ½À´Ï´Ù. document ´Â form, ¸µÅ© µî ÆäÀÌÁö¿¡ ÀÖ´Â °ÍµéÀÔ´Ï´Ù. ÀÏÁ¾ÀÇ ÇÁ·¹ÀÓ À̶ó°í ¸»ÇÒ ¼ö ÀÖ´Â ·¹À̾î ÀÚ±â ÀÚ½ÅÀÌ °¡Áö°í ÀÖ´Â °ÍµéÀÔ´Ï´Ù. µû¶ó¼ ·¹À̾ ÇÏÀ§¿¡ ·¹À̾ °¡Áö°í ÀÖÀ» ¶§, ÇÏÀ§ ·¹À̾î´Â »óÀ§ ·¹À̾îÀÇ document¿¡ Æ÷ÇÔÀÌ µË´Ï´Ù. ÇÏÁö¸¸, ÇÏÀ§·¹À̾ °¡Áö°í ÀÖ´Â document´Â »óÀ§ ·¹À̾îÀÇ document°¡ ¾Æ´Õ´Ï´Ù.
document.L1.document.L2.document.links[0]ÇÏÀ§ ·¹À̾ °¡Áö°í ÀÖ´Â °ÍµéÀÌ »¡°£»ö¿¡ ÀÖ½À´Ï´Ù. »óÀ§ ·¹À̾î L1ÀÇ captureEvents(Event.CLICK)ÀÇ ¹üÀ§ÀÎ ±½Àº ±ÛÀÚ ºÁ¤¢¿¡ ÀÖ½À´Ï´Ù. L2 ·¹À̾î´Â »óÀ§ ·¹À̾ Æ÷ÇÔµÇÁö¸¸ ÇÏÀ§ ·¹À̾î L2°¡ °¡Áö°í ÀÖ´Â ¸µÅ©³ª Æû°°Àº document´Â »óÀ§¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù. (À̹ÌÁö¸¦ ´·¶À» ¶§´Â ¾Æ¹«·± ¹ÝÀÀÀÌ ¾øÁÒ..? Àá½Ã¸¸¿ä.. ¹Ø¿¡ ÀÖ¾î¿ä..)
Áï, captureEvents()·Î ÇßÀ» ¶§´Â °èÃþ¿¡ »ó°ü¾øÀÌ À̺¥Æ®¸¦ captureÇÕ´Ï´Ù. ±×¸®°í, routeEvent()·Î ÇϺο¡°Ô À̺¥Æ® Åë·Î¸¦ ¿¾îÁÖ¸é ÇϺÎÀÇ ·¹À̾ °¡Áö°í ÀÖ´Â document´Â ¶Ç´Ù¸¥ âÀÎ ÇϺη¹À̾îÀÇ documentÀÔ´Ï´Ù. routeEvent()¸¦ ÁöÁ¤Çϸé captureEvents()·Î ·¹ÀÌ¾î °èÃþ¿¡ »ó°ü¾øÀÌ captureEvents()µÈ À̺¥Æ®¸¦ ÇϺο¡°Ô ¿¾îÁÖ´Â °Í°ú µ¿½Ã¿¡ ¿ø·¡ÀÇ °èÃþÀ» º¹±¸ÇÕ´Ï´Ù. ±×·¡¼, ÇϺη¹À̾îÀÇ document´Â »óÀ§ÀÇ captureEvents()·Î »©¾Ñ±ä À̺¥Æ®¸¦ ÇÏÀ§·¹À̾îÀÇ document·Î ÀÛµ¿ÇÕ´Ï´Ù. º¸Åë captureEvents()¿Í routeEvent() µÑ ´Ù °°ÀÌ »ç¿ëÇÕ´Ï´Ù. µÑ ´Ù »ç¿ëÇϸé ie4ÀÇ »óÇÏÀ§ À̺¥Æ®¸¦ »ç¿ëÇÏ´Â °Í°ú ¼ø¼´Â ¹Ý´ëÀÌÁö¸¸, °°Àº µ¿ÀÛÀ» ÇÕ´Ï´Ù.
ÇÏÀ§·¹À̾ Çϳª¾¿ °¡Áö°í ÀÖ´Â ·¹À̾¼ ÇÑÂÊÀº »óÀ§·¹À̾¼ captureEvent()¸¸ ÇÏ¿´°í ´Ù¸¥ ÇÑÂÊÀº captureEvents()¿Í routeEvent()¸¦ ÇÏ¿´½À´Ï´Ù.
NN4¿¡¼ ·¹À̾ °¡Áö°í ÀÖ´Â °ÍÀº ·¹À̾îÀÇ documentÀÔ´Ï´Ù. ·¹À̾î´Â ´Ù¸¥ ·¹À̾ °¡Áú ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¶§, »óÀ§·¹À̾î¿Í ÇÏÀ§·¹À̾î´Â °èÃþÀ¸·Î ³ª´µ¾îÁý´Ï´Ù. ¿©±â¼ »óÀ§·¹À̾¼ captureEvents()´Â ÀÌ °èÃþÀ» ¹«½ÃÇÏ°í »óÀ§·¹À̾ °¡Áö°í ÀÖ´Â ¸ðµç object¿¡°Ô captureEvents()¸¦ ÇÕ´Ï´Ù. ÇÏÀ§·¹À̾îÀÇ ¸µÅ©°°Àº documentµµ °°ÀÌ captureEvents() ÇÕ´Ï´Ù. ¿©±â¼ »óÀ§·¹À̾°Ô routeEvent()¸¦ ÁöÁ¤ÇÏ¸é ¿ø·¡ÀÇ °èÃþÀ» º¹±¸ÇÕ´Ï´Ù. ÀÌÁ¦ »óÀ§ÀÇ document¿Í ÇÏÀ§ÀÇ document´Â ¼·Î ´Ù¸¥ objectÀÔ´Ï´Ù.
function parentClick(e) {
if (n4) this.routeEvent(e);
alert("»óÀ§ ·¹À̾î");
}
À§·Î Çϸé ÇÏÀ§ÀÇ À̺¥Æ® Çîµé·¯ ÁöÁ¤ÇÔ¼ö¸¦ ¸ÕÀú ½ÇÇàÇÕ´Ï´Ù. Áï, Object.routeEvent(e)¸¦ ¸¸³ª¸é ¹Ù·Î Åë·Î°¡ ¿¸®°í ÇÏÀ§ÀÇ
À̺¥Æ® Çîµé·¯ÀÇ ÁöÁ¤ÇÔ¼ö¸¦ È£ÃâÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î »óÇÏÀ§ÀÇ À̺¥Æ®¸¦ ¿¬°áÇßÀ» ¶§, nn4´Â »óÀ§ -> ÇÏÀ§À̰í ie4´Â
ÇÏÀ§ -> »óÀ§ÀÌÁö¸¸, routeEvent()¿Í ½ÇÇà ÄÚµåÀÇ ¼ø¼·Î nn4¿¡¼ »óÇÏÀ§ÀÇ À̺¥Æ® Çîµé·¯¿¡ ÁöÁ¤µÈ ÇÔ¼öÀÇ ¼ø¼¸¦ ¹Ù²Ü¼ö ÀÖ½À´Ï´Ù.
ie4¿¡¼µµ ÇÏÀ§¿¡¼ setTimeout()¸¦ »ç¿ëÇÏ¸é ½ÇÇà¼ø¼¸¦ ¹Ý´ë·Î ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÏÁö¸¸, setTimeout()´Â
½Ã½ºÅÛ¿¡ µû¶ó¼ °¡º¯ÀûÀÔ´Ï´Ù. »ç¿ëÀÚÀÇ PC, ȯ°æ¿¡ µû¶ó¼ ½ÇÇà ½Ã°£ÀÌ À¯µ¿ÀûÀÔ´Ï´Ù. ½Ã°£À» ÃæºÐÈ÷ ÁÖ¾î¾ß ÇÕ´Ï´Ù.
À̰Ͱú routeEvent()ÀÇ ¹Ýȯ°ªÀ¸·Î ´Ù¾çÇÑ Á¦¾î¸¦ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
n4 = (document.layers) ? true : false;
function parentOver() {
alert("»óÀ§ ·¹À̾î");
}
function sonOver() {
alert("ÇÏÀ§ ·¹À̾î");
}
function init() {
if (n4) {
document.L1.onmouseover = parentOver;
document.L1.document.L2.onmouseover = sonOver;
}
else {
document.all.L1.onmouseover = parentOver;
document.all.L2.onmouseover = sonOver;
}
}
</script>
</head>
<body onLoad="init()">
<div id=L1>L1
<div id=L2>L2</div>
</div>
½ÇÇà Çϱâ
À§ÀÇ click À̺¥Æ®¿Í ºñ½ÁÇÕ´Ï´Ù. ie4´Â ÀÚµ¿À¸·Î nn4ÀÇ captureEvents(Event.MOUSEOVER), routeEvent(e)¸¦ ÁöÁ¤ÇÑ °Í°ú °°½À´Ï´Ù. nn4´Â ¿©±â¼ »óÀ§·¹À̾î, ÇÏÀ§ ·¹À̾ ´Ù °¢±â µû·Îµû·Î MOUSEOVER°¡ ÀϾ´Ï´Ù.
function parentOver(e) {
alert("»óÀ§ ·¹À̾î");
if (n4) this.routeEvent(e);
}
function init() {
if (n4) {
document.L1.captureEvents(Event.MOUSEOVER)
document.L1.onmouseover = parentOver;
document.L1.document.L2.onmouseover = sonOver;
}
else {
document.all.L1.onmouseover = parentOver;
document.all.L2.onmouseover = sonOver;
}
}
½ÇÇà ÇϱâÀÌÁ¦ nn4¿¡¼µµ »óÇÏÀ§ÀÇ ·¹À̾îÀÇ À̺¥Æ®°¡ ÀϾ´Ï´Ù. ¼ø¼´Â ¹Ý´ë ÀÔ´Ï´Ù. ÇÑ °¡Áö Â÷ÀÌÁ¡Àº ÇÏÀ§¿¡¼ »óÀ§·Î ¸¶¿ì½º¸¦ ¿Å±â¸é nn4´Â »óÀ§ÀÇ MOUSEOVER À̺¥Æ®°¡ ¹ß»ýÇÏÁö ¾Ê´Âµ¥, ie4´Â ¹ß»ýÇÕ´Ï´Ù. ie4´Â °¢ ·¹À̾ µ¶¸³ÀûÀÔ´Ï´Ù. ±×·¡¼, ÀϾ´Ï´Ù. ¹Ý¸é¿¡, nn4´Â ÇÏÀ§´Â »óÀ§ÀÇ documentÀÔ´Ï´Ù. »óÀ§¿¡ Á¾¼ÓµÇ±â ¶§¹®¿¡ ÇÏÀ§¿¡¼ »óÀ§·Î °¡µµ »óÀ§ ÀÚ½ÅÀ̱⠶§¹®ÀÔ´Ï´Ù.
function init() {
if (n4) {
document.L1.document.captureEvents(Event.MOUSEOVER)
document.L1.document.onmouseover = parentOver;
document.L1.document.L2.document.onmouseover = sonOver;
}
else {
document.all.L1.onmouseover = parentOver;
document.all.L2.onmouseover = sonOver;
}
}
½ÇÇà ÇϱâÀ̹ø¿¡´Â nn4¿¡¼ ·¹À̾îÀÇ document¿¡ ÁöÁ¤À» Çß½À´Ï´Ù. ¿©±â¼ ¿ÀÁ÷ ÇϳªÀÇ À̺¥Æ®¸¸ ÀϾ´Ï´Ù. ¹Ù·Î ÇÏÀ§·¹À̾îÀÇ MOUSEOVERÀÔ´Ï´Ù. »óÀ§·¹À̾î´Â ÀÚ½ÅÀÇ document¿¡ ÁöÁ¤À» Çß½À´Ï´Ù. ±×·¡¼, captureEvents(Event.MOUSEOVER)°¡ ¹ÌÄ¡´Â ¹üÀ§´Â
document.L1.document.L2.document¿¡¼ ±½Àº ±ÛÀÚÀÔ´Ï´Ù. document object´Â mouseover, mouseout À̺¥Æ®°¡ ¾ø½À´Ï´Ù. ±×·¡¼ ¿ÀÁ÷, ÇÏÀ§ ·¹À̾ ¸¶¿ì½º¸¦ °¡Á®°¬À» ¶§, captureEvents()ÇÑ »óÀ§ÀÇ À̺¥Æ®°¡ ÀϾ´Ï´Ù. ÇÏÀ§·¹À̾°Ôµµ document¿¡ À̺¥Æ®¸¦ ÁöÁ¤Çؼ ÇÏÀ§·¹À̾¼ MOUSEOVER À̺¥Æ®°¡ ÀϾÁö ¾Ê½À´Ï´Ù.
Çѹø ´õ °Á¶ÇÏ¸é ·¹À̾î´Â document¸¦ °¡Áú ¼ö ÀÖ½À´Ï´Ù. ±× document¿¡´Â ·¹À̾ Æ÷ÇÔÀÌ µË´Ï´Ù. ±×·¡¼, »óÀ§·¹À̾ document·Î °¡Áö°í ÀÖ´Â ÇÏÀ§·¹ÀÌ¾î ¿¡¼¸¸ MOUSEOVER À̺¥Æ®°¡ ÀϾ´Ï´Ù.
¿©±â¼ÀÇ À̺¥Æ®¸¦ ¸ðµÎ CLICK·Î ¹Ù²Ù¸é ÀÌ ¿¹Á¦¿Í °°½À´Ï´Ù. document.L1.document.captureEvents(Event.CLICK) ¿Í onclick·Î ÇßÀ» ¶§ÀÇ À̺¥Æ®°¡ ¹ÌÄ¡´Â ¹üÀ§µµ À§ÀÇ ±½Àº ±ÛÀÚ¿Í °°½À´Ï´Ù. captureEvents()´Â window, document, layer ÀÇ ÇÔ¼ö ÀÔ´Ï´Ù. ±×·¡¼ layer³ª document¿¡°Ô µÑ ´Ù ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í, ·¹À̾î´Â document¸¦ °¡Áú ¼ö ÀÖ°í °¢ object´Â ÁöÁ¤µÈ À̺¥Æ®°¡ ÀÖ½À´Ï´Ù.
1. document.·¹À̾î.captureEvents(Event.CLICK) documnet.·¹À̾î.onclick=clickFunction 2. document.·¹À̾î.document.captureEvents(Event.CLICK) documnet.·¹À̾î.document.onclick=clickFunction·¹À̾î¿Í document¿¡°Ô captureEvents()¸¦ ÁöÁ¤Çß½À´Ï´Ù. µÑ ´Ù À¯È¿ÇÑ ÄÚµåÀÔ´Ï´Ù. ÀÌ °æ¿ì ·¹À̾î¿Í ·¹À̾îÀÇ document¿¡°Ô click À̺¥Æ®¸¦ captureEvens()ÇÕ´Ï´Ù. ·¹À̾°Ô´Â click À̺¥Æ®°¡ ¾ø½À´Ï´Ù. µû¶ó¼ ÀÌ °æ¿ì´Â ¶È °°Àº µ¿ÀÛÀ» ÇÕ´Ï´Ù. ·¹À̾î´Â document¸¦ °¡Áú ¼ö ÀÖÀ¸¹Ç·Î À§ÀÇ 1¹ø ÄÚµå´Â ÀÚµ¿À¸·Î 2¹ø ÄÚµå¿Í °°ÀÌ ÁöÁ¤µË´Ï´Ù. ´Ù¸¸, click À̺¥Æ®ÀÇ ÁöÁ¤ÇÔ¼öÀÎ clickFunction() ¾È¿¡¼ this´Â 1¹ø ÄÚµå´Â ·¹À̾îÀ̰í 2¹ø ÄÚµå´Â ·¹À̾î.documentÀÔ´Ï´Ù. ¸¹Àº °æ¿ì À̺¥Æ® ÁöÁ¤ÇÔ¼ö ¾È¿¡¼ ·¹À̾ ÂüÁ¶ÇÏ¿© µ¿ÀûÀÎ ÆäÀÌÁö¸¦ ¸¸µì´Ï´Ù.
·¹À̾îÀÇ document´Â ·¹À̾î.document·Î Á¢±ÙÀÌ °¡´ÉÇÕ´Ï´Ù. ÇÏÁö¸¸, ·¹À̾î.document¿¡¼´Â ÀÚ½ÅÀÇ ·¹À̾ ÂüÁ¶ÇÒ ¹æ¹ýÀÌ ¾ø½À´Ï´Ù. È¿À²ÀûÀÎ ÄÚµå¿Í °£´ÜÇÑ Äڵ带 ¸¸µé±â À§Çؼ ·¹À̾ ÂüÁ¶Çϱâ À§ÇØ Ç×»ó 1¹ø Äڵ带 »ç¿ëÇϼ¼¿ä.
1. document.·¹À̾î.captureEvents(Event.MOUSEOVER) documnet.·¹À̾î.onmouseover=overFunction 2. document.·¹À̾î.document.captureEvents(Event.MOUSEOVER) documnet.·¹À̾î.document.onmouseover=overFunctionÀ̹ø¿¡´Â À§ÀÇ Äڵ带 ¸ðµÎ MOUSEOVER·Î ÁöÁ¤Çß½À´Ï´Ù. À̰͵µ µÑ ´Ù À¯È¿ÇÑ ÄÚµåÀÔ´Ï´Ù. 2¹ø Äڵ忡¼ ·¹À̾ ¸¶¿ì½º¸¦ ¿Ã·Áµµ overFunctionÀº ½ÇÇàÇÏÁö ¾Ê½À´Ï´Ù. document¿¡´Â mouseover À̺¥Æ®°¡ ¾ø±â ¶§¹®ÀÔ´Ï´Ù.
Áï, ·¹À̾îÀÇ À̺¥Æ®ÀÎ mouseover, mouseout 2°³ ¿Ü¿¡ click, mousedown °°Àº documentÀÇ À̺¥Æ®´Â captureEvens()·Î À̺¥Æ®¸¦ ÁöÁ¤ÇÒ ¶§, ·¹À̾ ·¹À̾îÀÇ document¿¡¼ °°Àº µ¿ÀÛÀ» ÇÕ´Ï´Ù. ´Ù¸¸, À̺¥Æ® Çîµé·¯¿¡ ÁöÁ¤ÇÑ ÇÔ¼ö ¾È¿¡¼ this·Î »ç¿ëÇÒ ¼ö ÀÖ±â À§Çؼ ·¹À̾ captureEvents()¸¦ ÁöÁ¤ÇÏ´Â °ÍÀÌ È¿°úÀûÀÔ´Ï´Ù. ·¹À̾ ÁöÁ¤ÇÏ¸é ·¹À̾î´Â documentÀÇ À̺¥Æ®¸¦ Áö¿øÇÏÁö ¾ÊÀ¸¹Ç·Î ¹«½ÃÇÏ°í ·¹À̾ °¡Áö°í ÀÖ´Â document¿¡°Ô ±× À̺¥Æ®¸¦ ÁöÁ¤Çϱ⠶§¹®ÀÔ´Ï´Ù. Áö¿øÇÏÁö ¾Ê´Â À̺¥Æ®´Â ¹«½ÃÇÕ´Ï´Ù. ¿¡·¯´Â ³ªÁö ¾Ê½À´Ï´Ù.
function parentClick(e) {
alert("»óÀ§ ·¹À̾î");
if (n4) this.routeEvent(e);
}
function sonClick() {
alert("ÇÏÀ§ ·¹À̾î");
}
function init() {
if (n4) {
document.L1.captureEvents(Event.CLICK);
document.L1.onclick = parentClick;
document.L1.document.L2.document.onclick = sonClick;
}
else {
document.all.L1.onclick = parentClick;
document.all.L2.onclick = sonClick;
}
}
</script>
</head>
<body onLoad="init()">
<div id=L1>L1 <img src="../../images/ball.gif">
<div id=L2>
L2 <p>
<a href="javascript:alert('HREF')" onClick="alert('¸µÅ© À̺¥Æ®')">¸µÅ©</a>
</div>
</div>
»óÇÏÀ§ÀÇ ·¹À̾°Ô captureEvents(Event.CLICK)¿Í routeEvent(e)·Î click À̺¥Æ®¸¦ ÁöÁ¤Çß½À´Ï´Ù. ±×¸®°í À̹ÌÁö¿Í ¸µÅ©¸¦ ³Ö¾ú½À´Ï´Ù. À̹ÌÁö¿Í ¸µÅ©¸¦ ´·µÀ» ¶§, ¹ÝÀÀÀÌ ´Ù¸¨´Ï´Ù. ·¹À̾°Ô ÁöÁ¤ÇÒ ¼ö ÀÖ´Â À̺¥Æ®´Â MOUSEOVER, MOUSEOUT µÎ °³ »ÓÀÔ´Ï´Ù. ·¹À̾ °¡Áö°í ÀÖ´Â document¿¡´Â click À̺¥Æ®¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. NN4¿¡¼´Â ¸µÅ©¿¡´Â click À̺¥Æ®°¡ ÀÖÁö¸¸, À̹ÌÁö¿¡´Â click À̺¥Æ®°¡ ¾ø½À´Ï´Ù.
ÀÌ ÆäÀÌÁö ¸Ç ù°ÁÙ¿¡¼ captureEvents(À̺¥Æ®)´Â À̺¥Æ®ÀÇ ¹üÀ§¸¦ ÁöÁ¤ÇÑ´Ù°í Çß½À´Ï´Ù. ÀÌ captureEvents(ÁöÁ¤ À̺¥Æ®)·Î window, document, layer ¿¡°Ô À̵éÀÌ °¡Áö°í ÀÖ´Â ¸ðµç object¿¡°Ô ÁöÁ¤ À̺¥Æ®¸¦ ÁöÁ¤ÇÕ´Ï´Ù. captureEvents(À̺¥Æ®)´Â ¾î¶² object¿¡°Ô ¾ø´Â À̺¥Æ®¸¦ ÁöÁ¤ÇÏ´Â °ÍÀÌ ¾Æ´Õ´Ï´Ù. window, document, layer°¡ °¡Áö°í ÀÖ´Â object Áß¿¡¼ ƯÁ¤ À̺¥Æ®¸¦ °¡Áö°í ÀÖ´Â object¿¡°Ô captureEvents(ÁöÁ¤ À̺¥Æ®)·Î À̺¥Æ®¸¦ ÁöÁ¤ÇÏ´Â °ÍÀÔ´Ï´Ù. ¸µÅ© object´Â click À̺¥Æ®¸¦ Áö¿øÇÕ´Ï´Ù. ÇÏÁö¸¸, nn4´Â À̹ÌÁö´Â click À̺¥Æ®¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. ±×·¡¼, L1 ·¹À̾îÀÇ À̹ÌÁö¸¦ ´©¸£¸é ¾Æ¹« ¹ÝÀÀÀÌ ¾ø´Â °ÍÀÔ´Ï´Ù. (ÂüÁ¶Çϱâ)
document.L1.document.captureEvents(Event.CLICK); document.L1.document.onclick = parentClick;À§ÀÇ ÄÚµå·Î ÇØµµ °á°ú´Â ¸¶Âù°¡Áö ÀÔ´Ï´Ù.
function init() {
if (n4) {
document.L1.document.captureEvents(Event.MOUSEOVER)
document.L1.document.onmouseover = parentOver;
document.L1.document.L2.onmouseover = sonOver;
}
else {
document.all.L1.onmouseover = parentOver;
document.all.L2.onmouseover = sonOver;
}
}
<div id=L1>L1 <a href="#">¸µÅ©</a>
<div id=L2>L2</div>
</div>
½ÇÇà ÇϱâÀ§¿¡ ±½Àº ÁÙ¿¡¼ ó·³ ·¹À̾îÀÇ document¿¡ MOUSEOVER À̺¥Æ®¸¦ captureEvents(Event.MOUSEOVER)¸¦ ÁöÁ¤Çß½À´Ï´Ù.
À̹ø¿¡´Â L1 ·¹À̾îÀÇ ³ë¶õ»ö ¹ÙÅÁ¿¡ ¸¶¿ì½º¸¦ ¿Ã·Áµµ L1ÀÇ mouseover À̺¥Æ® Çîµé·¯ÀÇ ÇÔ¼ö´Â ³ª¿ÀÁö ¾Ê½À´Ï´Ù. ¿Ö³ÄÇÏ¸é ·¹À̾î.document ¿¡ captureEvents(Event.MOUSEOVER)¸¦ ÁöÁ¤Ç߱⠶§¹®ÀÔ´Ï´Ù. ³ë¶õ»ö ¹ÙÅÁÀº ·¹À̾î ÀÚ½ÅÀ» ¸»ÇÏ°í ·¹ÀÌ¾î ¾ÈÀÇ À̹ÌÁö³ª ¸µÅ©´Â ·¹À̾îÀÇ documentÀ̱⠶§¹®ÀÔ´Ï´Ù. nn4¿¡¼ MOUSEOVER, MOUSEOUT´Â ·¹À̾¼¸¸ Áö¿øÇÏ´Â À̺¥Æ® ÀÔ´Ï´Ù. document´Â Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.
¿©±â¼ »óÀ§·¹À̾î L1¿¡ mouseover À̺¥Æ®¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀº ¸µÅ©¸¦ Çϳª ³Ö¾îÁÖ¸é ÀÌ ¸µÅ©µµ »óÀ§¿¡¼ captureEvents()¿¡ ÁöÁ¤ÇÑ ÇÔ¼ö¸¦ ½ÇÇàÇÕ´Ï´Ù. link´Â ·¹À̾îÀÇ documentÀ̱⠶§¹®ÀÔ´Ï´Ù. ie4µµ ¸µÅ©°¡ ½ÇÇàÀ» ÇÕ´Ï´Ù. captureEvents()¸¦ ÇÏ´Â ¹æ¹ýÀº ´Ù¸£Áö¸¸ ±â´ÉÀº °°½À´Ï´Ù.
¸µÅ©¿¡ ¹Ì¸® ÁöÁ¤ÇÑ mouseover À̺¥Æ® ÁöÁ¤ÇÔ¼ö°¡ ¾ø¾ú½À´Ï´Ù. captureEvents(Event.MOUSEOVER) ·Î ÇÔ¼ö¸¦ ÁöÁ¤Çؼ ±× ÇÔ¼ö°¡ ³ª¿À´Â °ÍÀÔ´Ï´Ù.
Áï, captureEvents(), routeEvent()·Î ·¹À̾î¿Í ·¹À̾î ÀÚ½ÅÀÌ °¡Áö°í ÀÖ´Â ³»¿ë¹°¿¡ À̺¥Æ®¸¦ ¿¬°áÇßÀ» ¶§, ÇÏÀ§ÀÇ ³»¿ë¹°ÀÌ ÁöÁ¤µÇ¾î ÀÖ´Â À̺¥Æ®°¡ ¾ø´õ¶óµµ »óÀ§ÀÇ À̺¥Æ®¿Í °°Àº À̺¥Æ®¸¦ °¡Áú¼ö ÀÖÀ¸¸é »óÀ§ÀÇ À̺¥Æ®¸¦ ½ÇÇàÇÕ´Ï´Ù. ±×¸®°í ÀÚ½ÅÀÇ À̺¥Æ®µµ °¡Áö°í ÀÖ´Ù¸é ±×°Íµµ °°ÀÌ ½ÇÇàÀ» ÇÕ´Ï´Ù. Áï, ÇÏÀ§ÀÇ ³»¿ë¹° ¸ðµÎ¿¡°Ô ÁöÁ¤ÇÑ À̺¥Æ®¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ÇÏÀ§°¡ ±× À̺¥Æ®¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â object¶ó¸é ½ÇÇàÀ» ÇÏ°í »ç¿ëÇÒ ¼ö ¾ø´Â À̺¥Æ®¶ó¸é ¹«½ÃÇÕ´Ï´Ù. nn4, ie4°¡ °°Àº Á¡ÀÔ´Ï´Ù.
<img src="images/IMG.jpg" onClick="alert('À̹ÌÁö Click Event')">
À§ÀÇ ÁÙÀº nn4¿¡¼ ¿¡·¯°¡ ³ªÁö ¾Ê½À´Ï´Ù. Áö¿øÇÏÁö ¾Ê´Â À̺¥Æ®´Â ¹«½ÃµÉ»Ó ¿¡·¯´Â ³ªÁö ¾Ê´Â °Í°ú °°´Ù°í
ÇÒ ¼ö ÀÖ½À´Ï´Ù. Áï, ¾Æ·¡ÀÇ µÎ ÁÙÀº ¼·Î °°´Ù°í ÇÒ ¼ö ÀÖ½À´Ï´Ù.
document.L1.captureEvents(Event.CLICK) document.L1.document.captureEvents(Event.CLICK);À̰ÍÀº À̺¥Æ®°¡ CLICKÀÔ´Ï´Ù. ·¹À̾î´Â click À̺¥Æ®°¡ ¾ø½À´Ï´Ù. µû¶ó¼ ·¹À̾îÀÇ click À̺¥Æ®´Â ¹«½ÃµÇ°í ¾Æ·¡ÀÇ document¿¡¼ click À̺¥Æ®¸¦ Áö¿øÇÏ´Â ¸µÅ©³ª ÆûÀÇ click À̺¥Æ®¸¸ captureEvents()ÇÕ´Ï´Ù. µû¶ó¼, µÑÀº ¶È °°½À´Ï´Ù.
ÇÏÁö¸¸, MOUSEOVER³ª MOUSEOUT´Â ¼·Î ´Ù¸¨´Ï´Ù. ·¹À̾ Áö¿øÇÏ´Â À̺¥Æ®À̱⠶§¹®ÀÔ´Ï´Ù.
document.L1.captureEvents(Event.MOUSEOVER) document.L1.document.captureEvents(Event.MOUSEOVER);À̰Ϳ¡¼ À§ÀÇ ÁÙÀº ·¹À̾°Ôµµ ÇÏÀ§ÀÇ ¸ðµç Object¿¡°Ôµµ MOUSEOVER À̺¥Æ®¸¦ capture ÇÕ´Ï´Ù.
°á·Ð
captureEvents()·Î ¾î¶² À̺¥Æ®¸¦ Object¿¡°Ô ÁöÁ¤ÇÏ¸é ±× Object°¡ °¡Áö°í ÀÖ´Â ¸ðµç Object¿¡°Ô À̺¥Æ®¸¦ captureÇÑ´Ù. ÀÌ ¶§, Áö¿øÇÏÁö ¾Ê´Â ObjectÀÇ °èÃþÀº ¹«½ÃµÇ°í ÇÏÀ§·Î ³»·Á°£´Ù. ie4ÀÇ °æ¿ì ¼ø¼´Â ÇÏÀ§¿¡¼ »óÀ§·Î ¿Ã¶ó°£´Ù.±×¸®°í, »óÇÏÀ§ÀÇ ¸ðµç À̺¥Æ®¸¦ ¼öÇàÇϰí objectÀÇ °íÀ¯µ¿ÀÛÀ» ÇÑ´Ù. ÀÌ ¶§, »óÇÏÀ§ÀÇ À̺¥Æ® Çîµé·¯ÀÇ ¹Ýȯ°ªÀ¸·Î objectÀÇ ½ÇÇà¿©ºÎ¸¦ °áÁ¤ÇÒ ¼ö ÀÖ´Ù.
function parentOver(e) {
alert("»óÀ§ ·¹À̾î");
if (n4) this.routeEvent(e);
}
function sonOver() {
alert("ÇÏÀ§ ·¹À̾î");
}
function init() {
if (n4) {
document.L1.captureEvents(Event.MOUSEOVER)
document.L1.onmouseover = parentOver;
document.L1.document.L2.onmouseover = sonOver;
}
else {
document.all.L1.onmouseover = parentOver;
document.all.L2.onmouseover = sonOver;
}
}
<div id=L1>L1 <a href="#">¸µÅ©</a> <img src="../../images/ball.gif">
<form><input type=button value="BB"></form>
<div id=L2>L2
</div>
</div>
½ÇÇà ÇϱâcaptureEvents(AÀ̺¥Æ®)´Â ÇÏÀ§ÀÇ object¿¡°Ô AÀ̺¥Æ®·Î ¾î¶² ÇÔ¼ö¸¦ ÁöÁ¤ÇÏ¿© ÁÝ´Ï´Ù. nn4¿¡¼ ¸µÅ©´Â mouseover À̺¥Æ®¸¦ Áö¿øÇÏÁö¸¸, À̹ÌÁö³ª ÆûÀÇ ´ÜÃß(button)´Â mouseover¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. captureEvents(Event.MOUSEOVER)·Î mouseover À̺¥Æ®¸¦ À̹ÌÁö³ª ÆûÀÇ ´ÜÃß¿¡ captureÇϸé À̹ÌÁö¿Í ´ÜÃßµµ ÇÔ¼ö¸¦ ÁöÁ¤¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù. ÇÏÁö¸¸, captureEvents(Event.CLICK)·Î À̹ÌÁö´Â click À̺¥Æ®¸¦ ÁöÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù.. ¹ö±×ÀÎÁö ¿¹¿ÜÀÎÁö´Â ¸ð¸£°Ú½À´Ï´Ù. (ÂüÁ¶Çϱâ)
¸¹Àº Á¶¾ðÀ» ºÎʵ右´Ï´Ù..