Anonim

আপনি যদি জাভাস্ক্রিপ্টে প্রোগ্রাম করেন তবে আপনি সম্ভবত সেই পরিস্থিতিতে জুড়ে চলেছেন যেখানে আপনি ক্লিক করতে চাইলে মেনুগুলি খুলতে চান এবং যখন ব্যবহারকারী মেনুর বাইরে ক্লিক করেন। আমি এটি করতে খুব সহজ উপায় বিকাশ করেছি। আমি নথিটির শরীরে একটি ইভেন্ট শ্রোতা যুক্ত করছি। যখন কেউ এটি ক্লিক করে, আমরা ইভেন্টটির লক্ষ্য আইডি সন্ধান করি। এটি যদি বাক্সটির ডিভির আইডির সাথে মেলে তবে কিছুই করবেন না। যদি তা না হয় তবে মেনুটি বন্ধ করুন।

এটি আরও খানিকটা এগিয়ে নিয়ে গেলে, কোনও ইভেন্ট ইভেন্ট শ্রোতা যখন এটি ব্যবহার না করা হচ্ছে তখন পুরো শরীরের উপর ফেলে রাখা অক্ষম। এই ক্ষেত্রে যদি মেনুটি এখনও খোলা না থাকে তবে মেনুটির বাইরে ক্লিক করার শোনার কোনও কারণ নেই। প্রদর্শিত শ্রোতার কলব্যাকে ইভেন্ট শ্রোতাদের যুক্ত করুন। একই শিরাতে, যখন ডিভটি আবার লুকানো হচ্ছে তখন ইভেন্ট শ্রোতাকে সরান।

ব্ল্যাক বক্সের ভিতরে ডিভ ক্লিক করুন, কিছুই হয় না। বাইরে ক্লিক করুন, এটি disapp ('# শোবাক্স') অদৃশ্য হয়ে যায় click ক্লিক করুন (ফাংশন () {$ ('# বিগবক্স') show ;}); ফাংশন বক্সক্লোজার (ঙ) {যদি (e.target.id! = 'বিগবক্স') {document.body.body.removeEventListener ('ক্লিক করুন', বক্সক্লোজার, মিথ্যা); $ ( '# Bigbox') লুকিয়ে ()। }}

উপরের কিছু কার্যকারিতা সেই লাইব্রেরিটি ব্যবহার করেছে বলে আপনার প্রকল্পে আপনি jQuery অন্তর্ভুক্ত করেছেন তাও নিশ্চিত করুন।

ডাব্লু / জাভাস্ক্রিপ্টের বাইরের ক্লিকে ডিভ বা মেনু বন্ধ করুন