উত্তর:
প্রায়শই ইভেন্ট হ্যান্ডলারগুলিতে যেমন onsubmitমিথ্যা ফিরানো ঘটনাটিকে আগুন না দেওয়ার কথা বলার একটি উপায়। সুতরাং, বলুন, onsubmitক্ষেত্রে, এর অর্থ এই হবে যে ফর্মটি জমা দেওয়া হয়নি।
event.preventDefault()এই কার্যকারিতাটির জন্য এটি ব্যবহার করা আরও ভাল । আমি বিশ্বাস করি যে মিথ্যা ফিরিয়ে দেওয়া হ্রাস করা হয়েছে এবং সর্বদা আর কাজ করে না।
return falseপদ্ধতিতে হয়, এটি কিছু পরিবর্তন করে?
আমি অনুমান করছি যে আপনি এই বিষয়টি উল্লেখ করছেন যে আপনাকে প্রায়শই 'মিথ্যা ফেরত' দিতে হয়; আপনার ইভেন্ট হ্যান্ডলারগুলিতে বিবৃতি, যেমন
<a href="#" onclick="doSomeFunction(); return false;">...
'প্রত্যাবর্তন মিথ্যা;' এই ক্ষেত্রে ব্রাউজারটি বর্তমান অবস্থানে ঝাঁপ দেওয়া থেকে থামায়, যেমন href = "#" দ্বারা নির্দেশিত - পরিবর্তে কেবলমাত্র doSomeFunction () সম্পাদন করা হয়। এটি যখন আপনি অ্যাঙ্কর ট্যাগগুলিতে ইভেন্টগুলি যুক্ত করতে চান তার জন্য দরকারী তবে ব্রাউজারটি প্রতিটি ক্লিকের প্রতিটি অ্যাঙ্কারে ঝাঁপিয়ে উঠতে চায় না
এটি ইভেন্টটির প্রচার বন্ধ করতে ব্যবহৃত হয় । আপনি যখন ক্লিক ইভেন্ট হ্যান্ডলারের সাথে দুটি উপাদান রাখেন (উদাহরণস্বরূপ)
-----------------------------------
| element1 |
| ------------------------- |
| |element2 | |
| ------------------------- |
| |
-----------------------------------
আপনি যদি অভ্যন্তরীণ উপাদান (এলিমেন্ট 2) এ ক্লিক করেন তবে এটি উভয় উপাদান: 1 এবং 2 তে একটি ইভেন্ট ইভেন্টকে ট্রিগার করবে It এটিকে "ইভেন্ট বুদবুদ" বলা হয়। যদি আপনি ইভেন্টটি কেবল এলিমেন্ট 2 এ পরিচালনা করতে চান তবে ইভেন্টের প্রচারককে ইভেন্টের প্রচার বন্ধ করতে মিথ্যা ফিরিয়ে দিতে হবে।
আর একটি উদাহরণ লিঙ্ক অনক্লিক হ্যান্ডলার হবে। আপনি যদি একটি লিঙ্ক ফর্ম কাজ বন্ধ করতে চান। আপনি একটি অন্লিক হ্যান্ডলার যুক্ত করতে পারেন এবং মিথ্যা ফিরে আসতে পারেন। ইভেন্টটিকে ডিফল্ট হ্যান্ডলারের প্রচার থেকে থামাতে।
falseইভেন্ট হ্যান্ডলার থেকে ফিরে আসা কোনও ইভেন্টের সাথে যুক্ত ডিফল্ট ক্রিয়াকে আটকাবে; আপনি কল event.preventDefault()বা সেটিং event.returnValue = false(আইই) এর মাধ্যমে এটিও করতে পারেন ; ঘটনাটি বুদবুদ হওয়া থেকে বিরত রাখতে, আপনাকে কল করতে হবে event.stopPropagation()বা সেটিং করতে হবে event.cancelBubble = true(আইই)
এর ... কীভাবে বুলিয়ান ফাংশনটিতে 'সত্য নয়' নির্দেশ করতে হবে?
"জেএস, অনুসন্ধান করার পরে আমি 'মিথ্যা ফেরত' ব্যবহার করার পরেও এই পৃষ্ঠায় এসেছি; অন্যান্য অনুসন্ধানের ফলাফলগুলির মধ্যে একটি পৃষ্ঠা ছিল যা আমি ক্রিস কোয়ারের সিএসএস-ট্রিক্স সাইটে আরও কার্যকর এবং সোজা বলে খুঁজে পেয়েছি: 'মিথ্যা প্রত্যাবর্তন' এর মধ্যে পার্থক্য; এবং 'e.preventDefault ();'
তাঁর নিবন্ধের সংক্ষেপটি হ'ল:
ফাংশন () false মিথ্যা প্রত্যাবর্তন; }
// সমান
ফাংশন (ঙ)। ই.প্রিভেডেন্ট ডিফল্ট (); e.stopPropagation (); }
যদিও আমি এখনও পুরো নিবন্ধটি পড়ার সুপারিশ করব।
আপডেট: রিটার্ন মিথ্যা ব্যবহারের যোগ্যতার সাথে তর্ক করার পরে; e.preventDefault () এর প্রতিস্থাপন হিসাবে; & e.stopPropagation (); আমার সহকর্মীদের এক নির্দিষ্ট যে ফিরতি মিথ্যা নামেও এই প্রবন্ধে রূপরেখা কলব্যাক সঞ্চালনের স্টপ,: jQuery এর ঘটনাবলী: স্টপ (MIS) রিটার্ন মিথ্যা ব্যবহার ।
function() { return false; }সমান IS function(e) { e.preventDefault(); e.stopPropagation(); }কিন্তু বিশুদ্ধ JS, এটা একই নয়, function() { return false; }সমান IS function(e) { e.preventDefault(); }আসলে। এটি প্রচার বন্ধ করে না ।
আমি মনে করি আরও ভাল প্রশ্ন, আপনি যদি রিটার্ন মানগুলির বুলিয়ান সেটটি মূল্যায়ন করেন তবে কেন আপনি সত্য / মিথ্যা ব্যবহার করবেন না ? আমি বলতে চাইছি আপনি সম্ভবত সত্য / নাল, সত্য / -1, অন্যান্য মিসক থাকতে পারেন। জাভাস্ক্রিপ্ট "মিথ্যা" বিকল্পের মান, কিন্তু আপনি কেন এটি করবেন?
আপনি যখন অ্যাঙ্কর ট্যাগ থেকে জাভাস্ক্রিপ্ট কোডটি ট্রিগার করতে চান, জাভাস্ক্রিপ্ট: সিউডো-প্রোটোকলের চেয়ে অনক্লিক হ্যান্ডলারটি ব্যবহার করা উচিত। অনক্লিক হ্যান্ডলারের মধ্যে থাকা জাভাস্ক্রিপ্ট কোডটি সত্য বা মিথ্যা (বা সত্য বা মিথ্যা প্রমাণের চেয়ে একটি অভিব্যক্তি) অবশ্যই ট্যাগটিতে ফিরে আসতে হবে - যদি এটি সত্য হয়, তবে অ্যাঙ্কারের এইচআরএফটি একটি সাধারণ লিঙ্কের মতো অনুসরণ করা হবে। যদি এটি মিথ্যা ফেরত দেয়, তবে এইচআরইএফ অগ্রাহ্য করা হবে। এ কারণেই "মিথ্যা প্রত্যাবর্তন;" একটি অনক্লিক হ্যান্ডলারের মধ্যে কোডের শেষে প্রায়শই অন্তর্ভুক্ত থাকে।
কোনও ফাংশনে রিটার্ন স্টেটমেন্ট আহ্বান করা হলে এই ফাংশনটির সম্পাদন বন্ধ হয়ে যায়। যদি নির্দিষ্ট করা থাকে তবে একটি প্রদত্ত মান ফাংশন কলারের কাছে ফিরে আসে। যদি অভিব্যক্তি বাদ দেওয়া হয় তবে পরিবর্তে অপরিবর্তিত ফিরে আসে।
আরও তথ্যের জন্য MDN ডক্স পৃষ্ঠাটি একবার দেখুনreturn ।
যদি আপনার ফাংশনে কিছু পরিশ্রুত থাকে (কিছু পরীক্ষার মাধ্যমে) বা আপনি কিছু ফাংশন বন্ধ করতে চান তবে মিথ্যা প্রত্যাখ্যান করুন, উদাহরণস্বরূপ "অনসামিত" এর জন্য মিথ্যা প্রত্যাবর্তন করুন
এছাড়াও, এই ছোট এবং আকর্ষণীয় লিঙ্কটি https://www.w3schools.com/jsref/event_preventdefault.asp এর মাধ্যমে পড়তে হবে
সংজ্ঞা এবং ব্যবহার
ক্যানউশনাল ডিফল্ট () পদ্ধতিটি ইভেন্টটি বাতিল হলে এটি বাতিল করে দেয়, অর্থাত্ ইভেন্টটির সাথে সম্পর্কিত ডিফল্ট ক্রিয়াটি ঘটবে না।
উদাহরণস্বরূপ, এটি কার্যকর হতে পারে যখন:
Clicking on a "Submit" button, prevent it from submitting a form
Clicking on a link, prevent the link from following the URL
দ্রষ্টব্য: সমস্ত ইভেন্টই বাতিলযোগ্য নয়। কোনও ইভেন্ট বাতিলযোগ্য কিনা তা জানতে বাতিলযোগ্য সম্পত্তিটি ব্যবহার করুন।
দ্রষ্টব্য: প্রতিরোধক ডিফল্ট () পদ্ধতিটি ডিওএমের মাধ্যমে কোনও ইভেন্টের আরও বিস্তার রোধ করে না। এটি হ্যান্ডল করার জন্য স্টপপ্রোপেশন () পদ্ধতিটি ব্যবহার করুন।