Anonim

మీరు జావాస్క్రిప్ట్‌లో ప్రోగ్రామ్ చేస్తే, మీరు క్లిక్‌పై తెరిచే మెనూలను కలిగి ఉండాలనుకునే పరిస్థితిని మీరు దాటి ఉండవచ్చు మరియు వినియోగదారు మెను వెలుపల క్లిక్ చేసినప్పుడు మూసివేయవచ్చు. నేను అలా చేయడానికి చాలా సరళమైన మార్గాన్ని అభివృద్ధి చేసాను. నేను పత్రం యొక్క శరీరానికి ఈవెంట్ వినేవారిని చేర్చుతాను. ఎవరైనా దాన్ని క్లిక్ చేసినప్పుడు, మేము ఈవెంట్ యొక్క లక్ష్య ఐడి కోసం చూస్తాము. ఇది బాక్స్ యొక్క డివి యొక్క ఐడితో సరిపోలితే, అప్పుడు ఏమీ చేయవద్దు. అది లేకపోతే, మెనుని మూసివేయండి.

కొంచెం ముందుకు తీసుకుంటే, క్లిక్ ఈవెంట్ వినేవారిని ఉపయోగించనప్పుడు మొత్తం శరీరంపై ఉంచడం అసమర్థమైనది. ఈ సందర్భంలో, మెను ఇంకా తెరవకపోతే, మెను వెలుపల క్లిక్ చేయడానికి ఎటువంటి కారణం లేదు. చూపిన డివి యొక్క బ్యాక్‌లో ఈవెంట్ వినేవారిని జోడించండి. అదే పంథాలో, div మళ్ళీ దాచబడినప్పుడు, ఈవెంట్ వినేవారిని తొలగించండి.

బ్లాక్ బాక్స్ లోపల డివ్ క్లిక్ చేయండి, ఏమీ జరగదు. వెలుపల క్లిక్ చేయండి, అది అదృశ్యమవుతుంది $ ('# షోబాక్స్'). క్లిక్ చేయండి (ఫంక్షన్ () {$ ('# బిగ్‌బాక్స్'). చూపించు (ఫంక్షన్ () {document.body.addEventListener ('క్లిక్', బాక్స్‌క్లోజర్, తప్పుడు);}) ;}); ఫంక్షన్ బాక్స్ క్లోజర్ (ఇ) {if (e.target.id! = 'bigbox') {document.body.removeEventListener ('క్లిక్', బాక్స్‌క్లోజర్, తప్పుడు); $ ( '# Bigbox') దాచడానికి (.); }}

పైన పేర్కొన్న కొన్ని కార్యాచరణలు ఆ లైబ్రరీని ఉపయోగిస్తున్నందున మీరు మీ ప్రాజెక్ట్‌లో j క్వెరీని చేర్చారని నిర్ధారించుకోండి.

W / javascript వెలుపల క్లిక్ చేసినప్పుడు div లేదా మెనుని మూసివేయండి