8-1 ƥPƥBz

¦b¤@­Óºô­¶¤º¡A¨Æ¥ó (Events) ³q±`¬O«ü¥ÑÂsÄý¾¹©Ò°»´ú¨ì¨Ï¥ÎªÌªº¯S©w°Ê§@¡AÂsÄý¾¹¥i¥H®Ú¾Ú©Ò°»´ú¨ìªº¨Æ¥ó¡A¨Ó¶i¦æ¬ÛÃö°Ê§@¡CÁ|¨Ò¨Ó»¡¡A¨Ï¥ÎªÌÂI¿ï©Î²¾°Ê·Æ¹«¡A©Î¬OÂsÄý¾¹ªº¸ü¤Jºô­¶¡A³£¥i¥H¬Ý¦¨¬O¨Æ¥óªº²£¥Í¡C¹ï©ó¯S©wªº¨Æ¥ó¡A§Ú­Ì¥i¥H¦bÂsÄý¾¹¤º°»´ú±o¤§¡A¨Ã¥H¯S©wªºµ{¦¡¨Ó¹ï¦¹¨Æ¥ó°µ¥X¤ÏÀ³¡A¦¹µ{¦¡§YºÙ¬°¡u¨Æ¥ó³B²z¾¹¡v(Event handlers)¡A¤SºÙ¬° Callback¡C

¤@¯ë¦bÂsÄý¾¹±`¨£ªº¨Æ¥ó¡A¥i¦Cªí²¤¶¦p¤U¡G

¦b¤U¦C½d¨Ò¤¤¡A§Ú­Ì¨Ï¥Î onFocus ©M onBlur ¨Æ¥ó¨Ó§ïÅܤå¦rÄæ¦ìªº¤º®e¡G

Example¡]onFocus01.htm¡^¡G

¦b¤W­z½d¨Ò¤¤¡A¥u­n¨Ï¥ÎªÌÂI¿ï¤å¦rÄæ¦ì¡AonFocus ªº¨Æ¥ó³Q±Ò°Ê¡AÄæ¦ìªº¤º®e´N·|Åܦ¨¡u«Ü°ª¿³§Ú¤S¦¨¬°Áâ¥ú¿OªºµJÂI¤F¡I¡v¡C­Y¦¹®É¦bÄæ¦ì¥~¥ô·N³BÂI¤@¤U¡AonBlur ªº¨Æ¥ó´N·|³Q±Ò°Ê¡AÄæ¦ìªº¤º®e´N·|Åܦ¨¡u­ü¡A¤S­nÂ÷§Ú¦Ó¥h¤F¡I¡v¡C¤W­z½d¨Òªº§¹¾ã­ì©lÀɮצp¤U¡G

­ì©lÀÉ¡]onFocus01.htm¡^¡G¡]¦Ç¦â°Ï°ì«ö¨â¤U§Y¥i«þ¨©¡^
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=big5">
</head>

<body>
<h2 align=center>»EµJ©M¥¢µJ</h2>
<hr>

<center>
<input value="½ÐÂI§Ú¡I" size=30
	onBlur="this.value='­ü¡A¤S­nÂ÷§Ú¦Ó¥h¤F¡I'"
	onFocus="this.value='«Ü°ª¿³§Ú¤S¦¨¬°Áâ¥ú¿OªºµJÂI¤F¡I'">
</center>

<hr>
</body>
</html>

Hint
¦b¤W­z½d¨Ò¤¤¡Athis ¥Nªí¦¹¤å¦rÄæ¦ì¥»¨­¡C

§Ú­Ì¥i¥H¨Ï¥Î body ¼ÐÅÒªº onLoad ©M onUnload ÄÝ©Ê¡A¨Ó©w¸q¦b¸ü¤Jºô­¶©MÂ÷¶}ºô­¶®É¥²¶·°õ¦æªº¨Æ¥ó³B²zµ{¦¡¡A½Ð¨£¤U¦C½d¨Ò¡G

Example¡]onLoad01.htm¡^¡G

Hint
¤@¯ë·sª©ªºÂsÄý¾¹·|ªýÂ_¼u¥Xµøµ¡¡]block popup windows¡^¡A¦pªG§A¦w¸Ë¤F Google taskbar¡A¤]·|¦³¦P¼Ëªº®ÄÀ³¡C¦]¦¹¦b¹Á¸Õ³o¨Ç½d¨Ò®É¡A§A¥²¶·½T©w§AªºÂsÄý¾¹¨Ã¨S¦³ªýÂ_¼u¥Xµøµ¡¡A¥H¨Ï½d¨Ò¹B§@¥¿±`¡C

·í§A¸ü¤J¦¹ºô­¶®É¡A·|¥X²{¤U¦Cĵ§iµøµ¡¡G

±µµÛ·í§A­n¨ø¸ü¦¹ºô­¶®É¡]¥i¯à¬O¸ü¤J¥t¤@­Óºô­¶©Î¬OÃö±¼ÂsÄý¾¹¡^¡A·|¸õ¥X¥t¤@­Óĵ§iµøµ¡¡G

¤W­z½d¨Òªº§¹¾ã­ì©lÀɮצp¤U¡G

­ì©lÀÉ¡]onLoad01.htm¡^¡G¡]¦Ç¦â°Ï°ì«ö¨â¤U§Y¥i«þ¨©¡^
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=big5">
</head>

<body onLoad="alert(string1)" onUnload="alert(string2)">
<h2 align=center>¡u°e©¹ªï¨Ó¡vµøµ¡</h2>
<hr>

<script language="javascript">
string1 = "ùÝùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùß\n"
         +"ùø¡@¡@¡@¡@Åw¡@ªï¡@¥ú¡@Á{¡@¡@¡@¡@ùø\n"
         +"ùàùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùâ\n"
         +"ùø¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@ùø\n"
         +"ùø¡@³o¸Ì¬OJavaScript½u¤W¤â¥U¡A¡@ùø\n"
         +"ùø¡@¦b³o¸Ì¥i¥H¾Ç¨ì¦n¦hªºªFªF®@¡Iùø\n"
         +"ùø¡@§Æ±æ§Aª±±o´r§Ö¡I¡@¡@¡@¡@¡@  ùø\n"
         +"ùø¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@¡@  ùø\n"
         +"ùãùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùùå\n";
string2 = "³o»ò§Ö´N­n¨«°Õ¡H¦³ªÅ¦A¨Óª±¡I";
</script>

<p align=center>
¦¹ºô­¶·|¡u°e©¹ªï¨Ó¡v¡I¡I¡I

<hr>
</body>
</html>

Hint
§A¤]¥i¥H¨Ï¥Î window.onLoad=functionName1 ©M window.onUnload=function2 ¨Ó¹F¨ì¦P¼Ëªº®ÄªG¡C

¦ý¬O onUnload ¨Ã¤£¤Q¤Àí©w¡A­Y­n«OÃÒ¦bµøµ¡³QÃö³¬«e¡A¯à°÷°õ¦æ¬Y¤@¬qµ{¦¡½X¡A¨º´N­n¨Ï¥Î onBeforeUnload¡A¨Ò¦p¡A§A¥i¥H¦b¦b onBeforeUnload ©w¸q JavaScript µ{¦¡½X¥H¶}±Ò¥t¤@­Óµøµ¡¡A¦]¦¹¨C·í§AÃöµøµ¡®É¡A¤S·|¶}¥t¤@­Óµøµ¡¡A§Î¦¨¡u¥´¤£¦ºªºÁ­½¸¡v¡A³o¬O¦U¤j¦â±¡ºô¯¸¥²³Æªº§Þ¥©¡]©Î³\§A¦­´Nª¾¹D¤F...¡^¡C½Ð¨£¤U¦C½d¨Ò¡G

Example¡]foreverCockroach01.htm¡^¡G

¤W­z½d¨Òªº§¹¾ã­ì©lÀɮצp¤U¡G

­ì©lÀÉ¡]foreverCockroach01.htm¡^¡G¡]¦Ç¦â°Ï°ì«ö¨â¤U§Y¥i«þ¨©¡^
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=big5">
</head>

<body onBeforeUnload="openNewWin()">

<script>
function openNewWin(){
	// ¦pªGµøµ¡¦WºÙ©T©w¡A´NµLªk¤@¦A¶}·sµøµ¡¡C
	// ¦]¦¹¨Ï¥Î¶Ã¼Æ¨Ó·íµøµ¡¦WºÙ...©Ò¥HÃö¤@­Ó´N·|¦A¥Í¤@­Ó·sªº¥X¨Ó
	winName = Math.floor(Math.random()*10000);
	window.open('foreverCockroach01.htm', winName, 'location=1,toolbar=1,menubar=1,status=1');
}
</script>

<h2 align=center>¥´¤£¦ºªºÁ­½¸</h2>
<hr>
§AÃö¤£±¼§Ú~XD

</body>
</html>

¤]¥i¥H¦b onBeforeUnload ¨Æ¥ó¤@¦¸¶}±Ò¤Q­Óµøµ¡¡A¨º»òÁ­½¸¤£¦ý¥´¤£¦º¡A¦Ó¥BÁÙ·|¶V¥Í¶V¦h¡I

Hint
¦Û±q§Ú¦bºô­¶¤W©ñ¤F¤W­z½d¨Ò¤§«á¡A¤T¤£¤­®É´N·|¦³¤H¼g«H¨Ó½|§Ú¡A»¡§Ú·F¹À©ñ³o­Ó½d¨Ò¡AÅý¥L­Ì¤£±o¤£­«¶}¾÷¡C­ü¡A¬JµM¬O±Ð§÷¡A·íµM­n¡u¯uºj¹ê¼u¡v¡A¤£¯à¡uÁ¿Á¿´Nºâ¡v¡CÃø¹D¤@©w­n­«¶}¾÷¶Ü¡H·íµM¤£¬O¹Æ¡A¦³´XºØ¤èªk¡G
  1. Ãö³¬ºô¸ô¡AÃö±¼¡u¥´¤£¦ºªºÁ­½¸¡vµøµ¡¡A¦A³s±µºô¸ô¡C
  2. ¨ú®ø IE ÂsÄý¾¹¹ï JavaScript ªº¤ä´©¡G±N¡u¤u¨ã/ºô»Úºô¸ô¿ï¶µ/¦w¥þ©Ê/¦Û­q¼h¯Å/«ü¥O½X³B²z/Active scripting¡v¼È®É§ï¦¨¡u°±¥Î¡v¡AÃö±¼¡u¥´¤£¦ºªºÁ­½¸¡vµøµ¡¡A«ì´_­ì¥ý³]©w¡C
  3. ±q¤u§@ºÞ²z­û±NÂsÄý¾¹±þ±¼¡C
  4. ±q³nÅé¿ï¶µ¿ï¥Î¡u¸T¤î¼u¥Xµøµ¡¡v¡C
³o¨Ç¤èªk¡AÁo©úªº§A·Q¨ì¤F¶Ü¡H

¥H¤U³o­Óºî¦X½d¨Ò¡AÅã¥Ü¤F¼ÆºØ¨Æ¥óªº¨Ï¥Î¡G

Example¡]onEvent01.htm¡^¡G

¥ô¤@­Óª«¥ó³£¥i¥H°»´ú«Ü¦h¤£¦Pªº¨Æ¥ó¡A¦Ó¥B¦b·sª©ªºÂsÄý¾¹¤¤¡A¥i°»´úªº¨Æ¥óÃþ§O¬O¶V¨Ó¶V¦h¡A½Ð°Ñ¨£¤W­z½d¨Ò¡u¥H "on" ¶}©lªº©Ê½è¡vÄæ¦ì¡C¡]¥Ñ©ó½g´T¦³­­¡A¤£¦A¦C¥X¥»½d¨Ò¤§µ{¦¡½X¡C¡^


JavaScript µ{¦¡³]­p»PÀ³¥Î¡G¥Î©óºô­¶¥Î¤áºÝ