វិធី​ឆ្លើយ​តប​ហេតុការណ៍​​មានស្រាប់​

នៅ​ក្នុង​ភាសា JS ចំពោះ​ហេតុការណ៍​មួយ​ចំនួន មាន​ដូច​ជា ហេតុការណ៍​កើត​ពី​ការចុច​តំណរភ្ជាប់ (link) ​និង ហេតុការណ៍​កើត​ពី​ការចុច​ទំរង់​បែបបទ​ដើម្បី​បញ្ជូន​ទិន្នន័យ​ជាដើម (submit) សុទ្ធ​តែ​ត្រូវ​បាន​ភ្ជាប់​រួច​ជាស្រេច​ទៅ​នឹង​វិធី​ឆ្លើយតប​ហេតុការណ៍​មាន​ស្រាប់​ផ្សេង​ៗ​ (default event handler) ។ ដូចនេះ នៅ​ពេល​ដែល​ហេតុការណ៍​ទាំងនោះ​កើត​មាន​ឡើង វិធី​ឆ្លើយតប​ហេតុការណ៍​មាន​ស្រាប់​ទាំងនោះ​នឹង​ត្រូវ​យក​ទៅ​ប្រើ​ជា​ស្វ័យប្រវត្តិ​។

ក៏ប៉ុន្តែ ភាសា JS ក៏​ផ្តល់​លទ្ធភាព​អោយ​យើង​ផង​ដែរ ក្នុង​ការជំនួស​វិធី​មាន​ស្រាប់​ទាំងនោះ​ ដោយ​វិធី​ឆ្លើយតប​ហេតុការណ៍​របស់​យើង​ផ្ទាល់​តែម្តង ក្នុង​ករណី​ចាំបាច់​ទាំងឡាយ​មាន​ដូចជា​ការហាម​ឃាត់​មិន​អោយ​វិធី​មាន​ស្រាប់​នាំ browser ចូល​ទៅ​កាន់​អាស័យដ្ឋាន​របស់​តំណរភ្ជាប់​ណា​មួយ​ជាដើម​។

យ៉ាងណាម៉ិញ ​ការជំនួស​វិធី​មាន​ស្រាប់​ទាំងនោះ​ ត្រូវ​ធ្វើ​ឡើង​ដោយ​យក​វិធី​ឈ្មោះ preventDefault() មក​ប្រើ​តាម​រយវត្ថុ​កើត​ឡើង​ពី​ហេតុការណ៍​។ ពិនិត្យ​កម្មវិធី​ខាងក្រោម​នេះ៖
<!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'">
  
  	<a id="mylink" href="http://khmerjs.org/">តំណរភ្ជាប់ទៅ​កាន់​គេហទំព័រ Khmer.js</a>
    
    <script>
		function validate(e) {
  			e.preventDefault();
  			alert('វិធី​ឆ្លើយ​តប​ហេតុការណ៍​មាន​ស្រាប់​សំរាប់​តំណរភ្ជាប់​ត្រូវ​បាន​ហាម​ឃាត់​!!');
		}

		var alink =  document.getElementById("mylink");
		alink.addEventListener("click", validate);
    </script>
  </body>
</html>
តំណរភ្ជាប់ទៅ​កាន់​គេហទំព័រ Khmer.js

នៅ​លើ​បន្ទាត់​លេខ 12 ការសរសេរ​ថា e.preventDefault() គឺ​ជា​ការយក​វិធី​មាន​ស្រាប់​ឈ្មោះ preventDefault() មក​ប្រើ​តាម​រយ​វត្ថុ​នៃ​ហេតុការណ៍ e ដើម្បីហាមឃាត់​ការ​យក​វិធី​ឆ្លើយតបហេតុការណ៍​មាន​ស្រាប់​មក​ប្រើ​សំរាប់​ធ្វើ​អោយ​មាន​តំណរ​ភ្ជាប់​។ ជា​លទ្ធផល តំណរភ្ជាប់​ត្រូវ​កាត់ផ្តាច់​៕