আজ আমি কেবল "e.preventDefault () এ" e "এর মতো অক্ষরগুলি কেন ব্যবহার করব?" সম্পর্কে একটি পোস্ট লিখেছিলাম? এবং আমি মনে করি আমার উত্তরটি কিছুটা অর্থপূর্ণ করবে ...
প্রথমে, আসুন addEventListener এর সিনট্যাক্সটি দেখুন
সাধারণত এটি হবে:
টার্গেট.এডএভেন্টলিস্টনার (টাইপ, শ্রোতা [, ব্যবহারক্যাপচার]);
এবং অ্যাডএন্টলিস্ট্যান্টারের পরামিতিগুলির সংজ্ঞা হ'ল:
টাইপ listen একটি স্ট্রিং শোনার জন্য ইভেন্টের প্রতিনিধিত্ব করে।
শ্রোতা: নির্দিষ্ট ধরণের কোনও ঘটনা ঘটলে সেই বস্তুটি যা বিজ্ঞপ্তি গ্রহণ করে (ইভেন্টটি ইন্টারফেস প্রয়োগ করে এমন একটি বস্তু)। এটি অবশ্যই ইভেন্টলিসটনার ইন্টারফেস বা জাভাস্ক্রিপ্ট ফাংশন প্রয়োগকারী একটি উপাদান হতে হবে।
(এমডিএন থেকে)
তবে আমি মনে করি যে এখানে একটি জিনিস রেন্ডার করা উচিত:
আপনি যখন জাভাস্ক্রিপ্ট ফাংশন শ্রোতারূপে ব্যবহার করেন, ইভেন্ট ইন্টারফেস (অবজেক্ট ইভেন্ট) প্রয়োগকারী বস্তুটি স্বয়ংক্রিয়ভাবে ফাংশনের "প্রথম প্যারামিটার" এ অর্পিত হবে। সুতরাং , আপনি যদি ব্যবহার করেন ফাংশন (ঙ), অবজেক্টটি "ই" হিসাবে নির্ধারিত হবে কারণ "ই" ফাংশনের একমাত্র প্যারামিটার (অবশ্যই প্রথমটি!), তারপরে আপনি কিছু আটকাতে e.preventDefault ব্যবহার করতে পারেন ....
আসুন নীচের মত উদাহরণটি চেষ্টা করুন:
<p>Please click on the checkbox control.</p>
<form>
<label for="id-checkbox">Checkbox</label>
<input type="checkbox" id="id-checkbox"/>
</div>
</form>
<script>
document.querySelector("#id-checkbox").addEventListener("click", function(e,v){
var v=5;
var t=e+v;
console.log(t);
e.preventDefault();
}, false);
</script>
ফলাফলটি হবে: [অবধি মাউস ইভেন্ট] 5 এবং আপনি ক্লিক ইভেন্টটি আটকাবেন ।
তবে আপনি যদি মন্তব্য চিহ্নটি সরিয়ে ফেলেন তবে:
<script>
document.querySelector("#id-checkbox").addEventListener("click", function(e,v){
var e=3;
var v=5;
var t=e+v;
console.log(t);
e.preventDefault();
}, false);
</script>
আপনি পাবেন: 8 এবং একটি ত্রুটি : "আনকাচড প্রকারের ত্রুটি : e.preventDefault এইচটিএমএল ইনপুটমেন্টে কোনও ফাংশন নয় ((ভিএম 409: 69)"।
অবশ্যই, ক্লিক ইভেন্টটি এবার প্রতিরোধ করা হবে না B কারণ ফাংশনে "ই" আবার সংজ্ঞায়িত হয়েছিল।
তবে আপনি কোডটি যদি এতে পরিবর্তন করেন:
<script>
document.querySelector("#id-checkbox").addEventListener("click", function(e,v){
var e=3;
var v=5;
var t=e+v;
console.log(t);
event.preventDefault();
}, false);
</script>
প্রতিটি জিনিস আবার সঠিকভাবে কাজ করবে ... আপনি 8 পেয়ে যাবেন এবং ক্লিক ইভেন্টটি প্রতিরোধ করা হবে ...
সুতরাং, "ই" আপনার ফাংশনটির কেবলমাত্র একটি প্যারামিটার এবং "ইভেন্ট অবজেক্ট" পেতে e.preventDefault () সঞ্চালনের জন্য আপনার ফাংশন () এ একটি "ই" দরকার need এই কারণটিও আপনি জেএস দ্বারা সংরক্ষিত নয় এমন কোনও শব্দের সাথে "ই" পরিবর্তন করতে পারেন।