À̺¥Æ® return°ª 2Go to captureEvents return



»óÇÏÀ§¸¦ captureEvents(), routeEvent()·Î ¿¬°áÇßÀ» ¶§ÀÇ ¹Ýȯ°ª

»óÀ§, ÇÏÀ§°¡ °°Àº À̺¥Æ®¸¦ °¡Áö°í ÀÖÀ» ¶§, IE4´Â µÑ ´Ù À̺¥Æ®°¡ ÀϾ´Ï´Ù. ÇÏÁö¸¸, NN4´Â ÇÏÀ§ÀÇ À̺¥Æ®¸¸ ÀϾ´Ï´Ù.

¿©±â¼­ IE4ó·³ µÑ ´Ù ÀϾ°Ô ÇÏ´Â °ÍÀÌ captureEvents(), routeEvent()ÀÔ´Ï´Ù.

captureEvents(), routeEvent()¸¦ ¼±¾ðÇÏ°í µ¿½Ã¿¡ »óÀ§, ÇÏÀ§ÀÇ À̺¥Æ®°¡ ÀϾ¸é »óÀ§ÀÇ À̺¥Æ®¸¸ ÀϾ´Ï´Ù. À§ÀÇ °æ¿ì¿Í ¹Ý´ëÀÔ´Ï´Ù.

captureEvents´Â À̺¥Æ®¸¦ °¡·Îä°£´Ù´Â ¸»ÀÔ´Ï´Ù. captureEvents´Â Ç×»ó »óÀ§¿¡¼­ ÇÏÀ§ÀÇ Object¿¡°Ô Event ¸¦ CaptureÇÒ ¶§ »ç¿ëÇÕ´Ï´Ù. ±×·¡¼­, °°Àº À̺¥Æ® Çîµé·¯´Â ¸ðµÎ »óÀ§¿¡°Ô ÁÖ¾îÁý´Ï´Ù.

µû¶ó¼­, ÇÏÀ§ÀÇ À̺¥Æ® Çîµé·¯´Â »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. ÀÌ ¶§, ÇÏÀ§¿¡¼­µµ ÁöÁ¤µÈ À̺¥Æ® Çîµé·¯¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÏ´Â °ÍÀÌ routeEvent() ÀÔ´Ï´Ù. ÇÏÀ§¿¡°Ô À̺¥Æ® Åë·Î(route)¸¦ ¿­¾îÁشٴ ¶æÀÔ´Ï´Ù.

IE4¿¡¼­´Â ÀÌ·± °³³äÀÌ ¾ø½À´Ï´Ù. ÁöÁ¤µÈ À̺¥Æ®´Â ÇÏÀ§¿¡¼­ ºÎÅÍ »óÀ§·Î ÀüºÎ ´Ù ½ÇÇàÇÕ´Ï´Ù.




var NN4 = ( document.layers ) ? true : false;
var IE4 = ( document.all ) ? true : false;

function clickEvent() { alert("Capture Event") }

function capEvent() {
	if ( NN4 ) {
		document.captureEvents(Event.CLICK);
		document.onclick = clickEvent;
	}
	if ( IE4 ) document.onclick = clickEvent;
}
</script>
</head>

<body onLoad="capEvent()">
<a href="javascript:alert('HREF')" onClick="alert('Link Click')">Link</A>
À§ÀÇ ¼Ò½º´Â document¿¡°Ô ¸ðµç click À̺¥Æ®¸¦ ÇÔ¼ö clickEvent¿¡°Ô ÁöÁ¤ÇÏ´Â °ÍÀÔ´Ï´Ù.
NN4¿Í IE4ÀÇ À̺¥Æ®°¡ ÀϾ´Â ¼ø¼­°¡ ´Ù¸¨´Ï´Ù.

NN4´Â window -> document -> Object ÀÔ´Ï´Ù.
IE4´Â Object -> document -> window ÀÔ´Ï´Ù.

Á¤¹Ý´ë ÀÔ´Ï´Ù. À§ÀÇ ¼Ò½º¿¡¼­ Link ¸µÅ©¸¦ ´©¸£¸é ¼ø¼­´Â..

[NN4] Capture Event -> HREF          Áï, document -> link Object ÀÔ´Ï´Ù.
[IE4] Link Click -> Capture Event -> HREF   Áï, link Object -> document ÀÔ´Ï´Ù.

À̺¥Æ®°¡ ÀϾ´Â °ÍÀÌ ObjectÀÇ °èÃþ¿¡¼­ ¹Ý´ë·Î ÀϾ´Ï´Ù. NN4¿¡¼­´Â Link Click ÀÌ ³ª¿ÀÁö ¾Ê´Â ÀÌÀ¯´Â document¿¡°Ô captureEvents·Î document ¾ÈÀÇ ¸ðµç ObjectÀÇ click event¸¦ ÁÖ¾ú±â ¶§¹®ÀÔ´Ï´Ù. µû¶ó¼­, ¸µÅ©ÀÇ clickµµ document¿¡°Ô °©´Ï´Ù. HREF °¡ ³ª¿À´Â °ÍÀº ÀÚ½ÅÀÇ click À̺¥Æ® Çîµé·¯´Â document¿¡°Ô captureEvents·Î »©¾Ò°åÁö¸¸, ¸µÅ©´Â document ¼Ó¿¡ Æ÷ÇԵǾî ÀÖ´Â ObjectÀÔ´Ï´Ù. document ¾ÈÀÇ onclick À̺¥Æ®¸¦ °¡Áö´Â Object´Â ÀÚ½ÅÀÇ °íÀ¯ÀÛ¾÷À» ÇÕ´Ï´Ù. ÀÚ½ÅÀÇ À̺¥Æ® Çîµé·¯¸¸ document¿¡°Ô µ¹¸³´Ï´Ù.

IE4´Â ObjectÀÇ °°Àº À̺¥Æ® Çîµé·¯¸¦ »óÀ§¿¡¼­ °¡Áö°í À־ ÀÚ½ÅÀÇ À̺¥Æ® Çîµé·¯¸¦ »©¾Ñ±âÁö ¾Ê½À´Ï´Ù. À̰ÍÀÌ NN4¿ÍÀÇ Â÷ÀÌÁ¡ÀÔ´Ï´Ù.


<a href="javascript:alert('HREF')" onClick="alert(Link Click); return false">Link</A>

À§ÀÇ ÁÙ·Î ÇÏ¸é ¾î¶»°Ô µÉ±î¿ä? ¸µÅ© click À̺¥Æ® Çîµé·¯¿¡ return false¸¦ ÁöÁ¤Çß½À´Ï´Ù.

[NN4] Capture Event -> HREF
[IE4] Link Click -> Capture Event

·Î µË´Ï´Ù. IE4¿¡¼­ HREF°¡ ³ª¿ÀÁö ¾Ê´Â ÀÌÀ¯´Â ¸ÕÀú ¹ß»ýÇÑ ¸µÅ©ÀÇ click À̺¥Æ® Çîµé·¯°¡ false¸¦ ¹ÝȯÇ߱⠶§¹®ÀÔ´Ï´Ù.

NN4¿¡¼­´Â À§ÀÇ °æ¿ì¿Í °°½À´Ï´Ù. Áï, captureEvents()·Î À̺¥Æ®¸¦ ¾î¶² Object¿¡°Ô ÁöÁ¤Çϸé, ±× Object ¾ÈÀÇ ¸ðµç Object´Â »óÀ§¿¡¼­ captureEvents()ÇÑ °Í°ú °°Àº Á¾·ùÀÇ ÀÚ½ÅÀÇ À̺¥Æ®¸¦ »óÀ§¿¡°Ô ÁöÁ¤ÇÕ´Ï´Ù. µû¶ó¼­, ÇÏÀ§´Â °°Àº À̺¥Æ® Çîµé·¯(ÁöÁ¤µÈ ÇÔ¼ö)¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.

ÀÌ ¶§, ÀÚ½ÅÀÇ À̺¥Æ® Çîµé·¯¸¦ »ç¿ëÇϱâ À§Çؼ­ routeEvent()¶ó´Â Åë·Î(route)¸¦ ¿­¾îÁÖ´Â ¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù.

IE4¿¡¼­´Â ÁöÁ¤ÇÏ´Â Object°¡ µ¶¸³ÀûÀ̱⠶§¹®¿¡, °¢°¢ ÀÛµ¿À» ÇÕ´Ï´Ù. routeEvent°¡ IE4¿¡¼­´Â ÇÊ¿ä¾ø°í Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.

captureEvents()·Î NN4´Â »óÀ§, ÇÏÀ§°¡ °°Àº À̺¥Æ® Çîµé·¯¸¦ °¡Áö°í ÀÖÀ¸¸é ÇÏÀ§ÀÇ À̺¥Æ® Çîµé·¯°¡ »óÀ§¿¡°Ô Á¾¼Ó µÇÁö¸¸, IE4´Â Á¾¼ÓµÇÁö ¾Ê½À´Ï´Ù. NN4¿¡¼­ captureEvents() ·Î Á¾¼ÓµÈ ÇÏÀ§ÀÇ À̺¥Æ® Çîµé·¯(ÁöÁ¤µÈ ÇÔ¼ö)¸¦ Á¦¾îÇÏ´Â ¸Þ¼Òµå°¡ ÀÖ½À´Ï´Ù. routeEvent(), releaseEvents(), handleEvent() ÀÔ´Ï´Ù.

NN4¿Í IE4ÀÇ »óÇÏÀ§ÀÇ ¿¬°áµÈ À̺¥Æ®(captureEvents) ÀÛµ¿¿¡¼­ÀÇ Â÷ÀÌÁ¡Àº

(1) ¼ø¼­°¡ ¹Ý´ë´Ù.
(2) »ó, ÇÏÀ§¿¡ °°Àº À̺¥Æ®¸¦ ÁöÁ¤Çϸé NN4´Â »óÀ§°¡ ÇÏÀ§ÀÇ À̺¥Æ®¸¦ °¡ÁöÁö¸¸, IE4´Â °¡ÁöÁö ¾Ê´Â´Ù.

Å©°Ô ÀÌ µÎ °¡Áö·Î NN4¿Í IE4ÀÇ À̺¥Æ®ÀÇ Â÷ÀÌÁ¡ÀÔ´Ï´Ù.




var NN4 = ( document.layers ) ? true : false;
var IE4 = ( document.all ) ? true : false;

function clickEvent(e) {                            // (1)
	alert("Capture Event"); 
	if ( NN4 )
		document.routeEvent(e);          // (2)
}

function capEvent() {
	if ( NN4 ) {
		document.captureEvents(Event.CLICK);
		document.onclick = clickEvent;
	}
	if ( IE4 ) document.onclick = clickEvent;
}
</script>
</head>

<body onLoad="capEvent()">
<a href="javascript:alert('HREF')" onClick="alert('Link Click')">Link</A>

[NN4] Capture Event -> Link Click -> HREF
[IE4]  Link Click -> Capture Event -> HREF

ÁÖ¼® (2)¹øÀ¸·Î NN4¿¡¼­ ÇÏÀ§ÀÇ °°Àº À̺¥Æ®¸¦ °¡Áø Object¿¡°Ô ÀÚ½ÅÀÇ À̺¥Æ® Çîµé·¯¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô Åë·Î(route)¸¦ ¿­¾î Áá½À´Ï´Ù. ±×·¡¼­, ¼ø¼­¸¸ ´Ù¸£°í 3°³ÀÇ alert âÀÌ ´Ù ³ª¿É´Ï´Ù.

¿©±â¼­ ÁÖÀDZí°Ô ºÁ¾ßÇÒ °ÍÀº »óÀ§, ÇÏÀ§°¡ °°Àº À̺¥Æ® Çîµé·¯(onclick)¸¦ °¡Áö°í ÀÖÀ» ¶§, µÑ ´Ù ½ÇÇàÀÌ µÇ°í ³ª¼­ Object(Link ¸µÅ©)°¡ À̺¥Æ®¿¡ ¸Â´Â °íÀ¯ ÀÛµ¿À» ÇÕ´Ï´Ù. NN4, IE4 µÑ ´Ù °°Àº Á¡ÀÔ´Ï´Ù.

<a href="javascript:alert('HREF')" onClick="alert(Link Click); return false">Link</A>

¸µÅ©ÅÃÀÇ onClick¿¡ return false;¸¦ ÁöÁ¤Çß½À´Ï´Ù.

[NN4] Capture Event -> Link Click -> HREF
[IE4]  Link Click -> Capture Event

¿©±â¼­ IE´Â ¸µÅ©ÀÇ onClick°¡ false¸¦ ¹ÝȯÇÏ¿© HREF´Â ³ª¿ÀÁö ¾Ê½À´Ï´Ù.
NN4¿¡¼­ routeEvent·Î ÇÏÀ§¿¡°Ô À̺¥Æ®¸¦ »ç¿ëÇÏ°Ô ÇÒ ¶§, ÇÏÀ§ÀÇ À̺¥Æ®´Â ÀÛµ¿ ÇÏÁö¸¸, ÇÏÀ§ÀÇ ¹Ýȯ°ªÀº ÀÚ½ÅÀÇ Object¿¡ ¿µÇâÀ» ¹ÌÄ¥ ¼ö ¾ø½À´Ï´Ù. »óÀ§ÀÇ ¹Ýȯ°ª ¸¸ÀÌ ÀÚ½ÅÀÇ ÀÛµ¿¿©ºÎ¸¦ °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.




var NN4 = ( document.layers ) ? true : false;
var IE4 = ( document.all ) ? true : false;

function clickEvent(e) {
	alert("Capture Event"); 
	if ( NN4 )
		document.routeEvent(e);
	return false;                                     // (1)
	return true;                                      // (2)
//	return ÁöÁ¤¾ÈÇÔ.                                  (3)
}

function capEvent() {
	if ( NN4 ) {
		document.captureEvents(Event.CLICK);
		document.onclick = clickEvent;
	}
	if ( IE4 ) document.onclick = clickEvent;
}
</script>
</head>

<body onLoad="capEvent()">
<a href="javascript:alert('HREF')" onClick="alert('Link Click')">Link</A> 

 NN 4IE 4
 (1)Capture Event->Link ClickLink Click->Capture Event
 (2)Capture Event->Link Click->HREFLink Click->Capture Event->HREF
 (3)Capture Event->Link Click->HREFLink Click->Capture Event->HREF

    onClick="alert('Link Click'); return true"> »ç¿ë½Ã // (4)
 NN 4IE 4
(1)(4)Capture Event->Link ClickLink Click->Capture Event
(2)(4)Capture Event->Link Click->HREFLink Click->Capture Event->HREF
(3)(4)Capture Event->Link Click->HREFLink Click->Capture Event->HREF

    onClick="alert('Link Click'); return false"> »ç¿ë½Ã // (5)
 NN 4IE 4
(1)(5)Capture Event->Link ClickLink Click->Capture Event
(2)(5)Capture Event->Link Click->HREFLink Click->Capture Event->HREF
(3)(5)Capture Event->Link Click->HREFLink Click->Capture Event



= °á·Ð = [ Event¸¦ capture, route·Î ¿¬°áÇßÀ» ¶§ ]

1. À̺¥Æ®ÀÇ ¼ø¼­´Â NN4´Â »óÀ§¿¡¼­ ÇÏÀ§·Î IE4´Â ÇÏÀ§¿¡¼­ »óÀ§·Î ¼­·Î ¹Ý´ëÀÌ´Ù.

2. NN4´Â »óÀ§°¡ ÇÏÀ§ÀÇ À̺¥Æ® Çîµé·¯¸¦ °¡Áö³ª, IE4´Â °¡ÁöÁö ¾Ê´Â´Ù.

3. NN4, IE4 ¸ðµÎ »óÀ§ À̺¥Æ®ÀÇ ¹Ýȯ°ªÀº ÇÏÀ§ ObjectÀÇ ÀÛµ¿¿©ºÎ¸¦ °áÁ¤ÇÑ´Ù.

ÇÏÀ§ À̺¥Æ®ÀÇ ¹Ýȯ°ªÀÌ true ÀÏÁö¶óµµ, »óÀ§ À̺¥Æ®ÀÇ ¹Ýȯ°ªÀÌ false ¶ó¸é,
ÇÏÀ§ÀÇ ¹Ýȯ°ªÀº ÀÚµ¿À¸·Î false°¡ µÈ´Ù. ¶ÇÇÑ, ÇÏÀ§ÀÇ ¹Ýȯ°ªÀÌ false¶óµµ
»óÀ§ÀÇ ¹Ýȯ°ªÀÌ true¶ó¸é, ÇÏÀ§ÀÇ Object´Â ÀÛµ¿ÇÑ´Ù.

ÀÌ ¶§, IE4¿¡¼­´Â »óÀ§ÀÇ ¹Ýȯ°ª return true ¸¦ ÁöÁ¤À» ÇØ¾ßÇß´Ù.
¸¸¾à, »óÀ§ÀÇ return °ªÀÌ ¾øÀ¸¸é(return true, false¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é) ÇÏÀ§ÀÇ
¹Ýȯ°ª ¸¸À¸·Î ÇÏÀ§ÀÇ ÀÛµ¿¿©ºÎ¸¦ °áÁ¤ÇÑ´Ù.

NN4¿¡¼­´Â ¹Ýȯ°ªÀ» ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ±âº»À¸·Î return trueÀÌ´Ù. JavaScript1.1°ú °°´Ù.




var NN4 = ( document.layers ) ? true : false;
var IE4 = ( document.all ) ? true : false;

function clickEvent(e) {
	alert("Capture Event"); 
	if ( NN4 )
		if ( document.routeEvent(e) )        // (1)
			return false;
		else return true;
}

function capEvent() {
	if ( NN4 ) {
		document.captureEvents(Event.CLICK);
		document.onclick = clickEvent;
	}
	if ( IE4 ) document.onclick = clickEvent;
}
</script>
</head>

<body onLoad="capEvent()">
<a href="javascript:alert('HREF')" onClick="alert('Link Click'); return true">Link</A> 
routeEvent()´Â route Event¸¦ ¹ÞÀº Object(Link ¸µÅ©)ÀÇ À̺¥Æ® ¹Ýȯ°ªÀ» ¹Þ½À´Ï´Ù. Link ¸µÅ©°¡ return true¸¦ ¹ÝȯÇϸé À§ÀÇ ÁÖ¼® (1)¹øÀº ÂüÀÔ´Ï´Ù. return false ³ª return ÀÌ ¾øÀ¸¸é °ÅÁþÀÔ´Ï´Ù. À̰ÍÀ¸·Î ÇÏÀ§ÀÇ ¹Ýȯ°ªÀ¸·Î ÀÚ½ÅÀÇ °íÀ¯ÀÛ¾÷À» °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿©±â¼­ NN4´Â HREF°¡ ³ª¿ÀÁö ¾Ê½À´Ï´Ù.

±âº»ÀûÀ¸·Î NN4¿¡¼­´Â Åà ¾È¿¡¼­ À̺¥Æ®¸¦ Á¤ÀÇÇÒ ¶§´Â 1. event, 2. this, 3. return true(false) ¸¦ Á¤ÀÇ ÇØ¾ßÁö, ¹ÞÀº À̺¥Æ® Çîµé·¯ÀÇ ÇÔ¼ö¿¡¼­ À̵éÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. JavaScript·Î Á¤ÀÇÇÒ ¶§´Â À̵éÀÌ Çʿ䰡 ¾ø½À´Ï´Ù. 1, 2´Â ÀÚµ¿À¸·Î °¡°í 3.Àº ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é return trueÀÔ´Ï´Ù.

function eventTest(X, Y) { alert("Event type : "+X.type+" This Name : "+Y.name); }

<a href="#" onClick="eventTest(event, this)">GO</a>




var NN4 = ( document.layers ) ? true : false;
var IE4 = ( document.all ) ? true : false;

function dblclickEvent() { alert("Double Click"); }   //(1)
function clickEvent(e) {
	alert("Capture Event"); 
	if ( NN4 )
		document.routeEvent(e);
	return true;                                                   //(2)
}

function capEvent() {
	if ( NN4 ) {
		document.captureEvents(Event.CLICK | Event.DBLCLICK);
		document.onclick = clickEvent;
		document.ondblclick = dblclickEvent;    //(3)
	}
	if ( IE4 ) {
		document.onclick = clickEvent;
		document.ondblclick = dblclickEvent;     //(4)
	}
}
</script>
</head>

<body onLoad="capEvent()">
<a href="javascript:alert('HREF')" onClick="alert('Link Click')">Link</A> 
ÁÖ¼® (3), (4)À¸·Î click°ú double click µÑÀ» document¿¡°Ô »ç¿ëÇÏ°Ô Çß½À´Ï´Ù. Double Click´Â ¸¶¿ì½º¸¦ µÎ¹ø ¿¬¼ÓÇØ¼­ ´©¸£¸é ¹ß»ýÇÏ´Â À̺¥Æ®ÀÔ´Ï´Ù. click ´ÙÀ½¿¡ À̰ÍÀÌ ÀϾ´Ï´Ù. ´Ù¸¥ Object¿¡¼­´Â Double ClickÀ̺¥Æ®°¡ ÀϾ´Ï´Ù. ÇÏÁö¸¸, ¸µÅ©´Â click°¡ ¸µÅ© ObjectÀÇ µ¿ÀÛÀ» °áÁ¤ÇÕ´Ï´Ù.

µû¶ó¼­ ¿©±â¼­´Â NN4, IE4 µÑ ´Ù ÁÖ¼®(1)¹øÀÇ "Double Click"´Â ³ª¿ÀÁö ¾Ê½À´Ï´Ù.

ÁÖ¼® (2)¹øÀÌ return false¶ó¸é ¸µÅ©ÀÇ clickÀ̺¥Æ®¸¦ Ãë¼ÒÇØ¼­ ÁÖ¼® (1)¹øÀÇ "Double Click" °¡ ³ª¿É´Ï´Ù.

¿Ö³ÄÇϸé, Double Click´Â ¿¬¼ÓÇØ¼­ ¸¶¿ì½º¸¦ µÎ ¹ø ´©¸£´Â °ÍÀÔ´Ï´Ù. alertâÀÌ ³ª¿À°í ´ÝÀ¸¸é ½Ã°£ÀÌ °É·Á¼­ µÎ ¹øÂ°ÀÇ Click´Â ¸ÔÈ÷Áö ¾Ê½À´Ï´Ù.

±×¸®°í, href¿¡ ´Ù¸¥ ¹®¼­¸¦ ¿¬°áÇØµµ ³ª¿ÀÁö ¾Ê½À´Ï´Ù.
Double Click´Â documentÀÇ À̺¥Æ®À̱⠶§¹®ÀÔ´Ï´Ù. ¸µÅ©ÀÇ href attribute´Â »õ·Î¿î document¸¦ ºÒ·¯¿À´Â °ÍÀÔ´Ï´Ù. Áï, ÃÖ»óÀ§ Object, window Object°¡ ¹Ù²î¾ú±â ¶§¹®ÀÔ´Ï´Ù.

! ÇöÀçÀÇ ÆäÀÌÁö¿¡ ´Ù¸¥ ÆäÀÌÁö¸¦ ºÒ·¯¿À¸é ¸ðµç °ÍÀº ³¡³³´Ï´Ù.

TOP           Go to captureEvents return            TOP