វត្ថុ​នៃ​ហេតុការណ៍

នៅ​ក្នុង​បរិបទ​នៃ​កម្មវិធី​ជា​ភាសា JS នៅ​ពេល​ដែល​ហេតុការណ៍​ណា​មួយ​កើត​មាន​ឡើង វត្ថុ​ម៉្យាង​ដែល​ជា​សិស្ស​នៃ​ថ្នាក់ Event Object ត្រូវ​បង្កើត​ឡើង នឹង​ត្រូវ​ផ្តល់​ជា​ដំណឹង​ជា​ស្វ័យ​ប្រវត្តិ ​អោយ​ទៅ​ក្បួន​ឬ​វិធី​ឆ្លើយតប​ហេតុការណ៍​។ ហើយ​បើ​នៅ​ក្នុង​ក្បួន​ឬ​វិធី​ឆ្លើយតប​ហេតុការណ៍​គ្មាន​ដំណាង​ណា​មួយ​ទេ​នោះ ដំណឹង​ជា​សិស្ស​នៃ​ថ្នាក់ Event Object នោះ នឹង​ត្រូវ​ផ្តល់​ទៅ​អោយ​កំរង​មាន​ស្រាប់ arguments នៅ​ក្នុង​ក្បួន​ឬ​វិធី​នោះ​។

ប្រការ​ដ៏​ល្អ យើង​គួរតែ​បង្កើត​ដំណាង​មួយ​នៅ​ក្នុង​ក្បួន​ឬ​វិធី​ឆ្លើយ​តប​ហេតុការណ៍ ក្នុង​គោលបំណង​ចាំ​ទទួល​យក​វត្ថុ​នៃ​ថ្នាក់ Event Object ។ ជាទូទៅ គេ​និយម​ប្រើប្រាស់​ដំណាង​ឈ្មោះ «e» ឬ «event» សំរាប់​ចាំ​ទទួល​យក​វត្ថុ​នោះ​។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ៖
<!DOCTYPE html>
<html>
  <head>
    <link href='https://fonts.googleapis.com/css?family=Odor+Mean+Chey' rel='stylesheet'>
  </head>
  <body style="font:14px/1.5 'Odor Mean Chey'">
  		<input id="ch-color" type="button" value="ប៊ូតុងចុច" />
    	<input type="color" id="favcolor"  value="#ff0000">
    <script>
		function myFunction(event){
        	var color = document.getElementById("favcolor").value;
        	var element =  document.getElementsByTagName("body")[0];
        	element.style.backgroundColor = color;
            
        	var info = "ហេតុការណ៍ "+ event.type + " បាន​កើតឡើង​ចេញ​";
  			info += "ពី​ធាតុ HTML មាន​ឈ្មោះ​ជា «"+ event.target.value + "»";
  			alert(info);
      	}

      	var btn =  document.getElementById("ch-color");
      	btn.addEventListener("click", myFunction);
    </script>
  </body>
</html>

នៅ​លើ​បន្ទាត់​លេខ 10 គឺ​ជា​ការបង្កើត​ដំណាង​មួយ​មាន​ឈ្មោះ​ថា event នៅ​ក្នុង​ក្បួន​ឆ្លើយតប​ហេតុការណ៍​ឈ្មោះ myFunction ដើម្បី​ចាំ​ទទួល​យក​ដំណឹង​ដែល​ជា​វត្ថុ​មួយ​ប្រភេទ​ ដែល​នឹង​ត្រូវ​បង្កើត​ឡើង​ចេញ​ពី​ថ្នាក់ Event Object នៅ​ពេល​មាន​ហេតុការណ៍​ណាមួយ​កើត​មាន​ឡើង​។

នៅ​លើ​បន្ទាត់​លេខ 15 ការសរសេរ​ថា event.type គឺ​ជា​ការយក​សម្បត្តិ​ឈ្មោះ type របស់​វត្ថុ​កើត​ចេញ​ពី​ហេតុការណ៍​មក​ប្រើការ​។ សម្បត្តិ type ​ជា​ប្រភេទ​របស់​ហេតុការណ៍​ដែល​បាន​កើត​មាន​ឡើង​។ នៅ​ក្នុង​កម្មវិធី​ខាង​លើ type គឺ​ជា​ហេតុការណ៍​មាន​ឈ្មោះ​ថា click ។

នៅ​លើ​បន្ទា់ត់​លេខ 16 ការសរសេរ​ថា event.target.value គឺ​ជា​ការយក​សម្បត្តិ target មក​ប្រើការ​។ សម្បត្តិ​នេះ​គឺ​ជា​ធាតុ HTML ដែល​បាន​ធ្វើ​អោយ​ហេតុការណ៍​កើត​មាន​ឡើង​។

ក្រៅ​ពី​សម្បត្តិ type និង target នៅ​មាន​សម្បត្តិ​ជា​ច្រើន​ទៀត ដែល​អាច​ត្រូវ​យក​មក​ប្រើប្រាស់​នៅ​ក្នុង​កាលទេស​ខុស​ៗ​គ្នា​៕

Property/Method Description
bubbles Returns whether or not a specific event is a bubbling event
cancelBubble Sets or returns whether the event should propagate up the hierarchy or not
cancelable Returns whether or not an event can have its default action prevented
composed Returns whether the event is composed or not
createEvent() នCreates a new event
composedPath() Returns the event's path
currentTarget Returns the element whose event listeners triggered the event
defaultPrevented Returns whether or not the preventDefault() method was called for the event
eventPhase Returns which phase of the event flow is currently being evaluated
isTrusted Returns whether or not an event is trusted
preventDefault() Cancels the event if it is cancelable, meaning that the default action that belongs to the event will not occur
stopImmediatePropagation() Prevents other listeners of the same event from being called
stopPropagation() Prevents further propagation of an event during event flow
target Returns the element that triggered the event
timeStamp Returns the time (in milliseconds relative to the epoch) at which the event was created
type Returns the name of the event