Anonim

اگر آپ جاوا اسکرپٹ میں پروگرام کرتے ہیں تو ، آپ شاید اس صورتحال سے دوچار ہوں گے جہاں آپ مینوز کو ایک کلک پر کھولنا چاہتے ہیں ، اور جب صارف مینو کے باہر کلک کرتا ہے۔ میں نے ایسا کرنے کا ایک بہت آسان طریقہ تیار کیا ہے۔ میں دستاویز کی باڈی میں ایونٹ کے سامعین کو شامل کرتا ہوں۔ جب کوئی اسے کلک کرتا ہے تو ، ہم ایونٹ کا ہدف ID تلاش کرتے ہیں۔ اگر یہ باکس کے DIV کی ID سے میل کھاتا ہے تو کچھ نہ کریں۔ اگر ایسا نہیں ہوتا ہے تو ، مینو کو بند کردیں۔

اس کو تھوڑا سا آگے رکھتے ہوئے ، کلک ایونٹ سننے والے کو پورے جسم پر چھوڑنا غیر موثر ہے جب اسے استعمال نہیں کیا جارہا ہے۔ اس صورت میں ، اگر ابھی تک مینو نہیں کھولا گیا ہے تو ، مینو کے باہر کلک کرنے کے سننے کی کوئی وجہ نہیں ہے۔ تقویت پذیر ہونے والے تقویم کے کال بیک میں ایونٹ کے سننے والوں کو شامل کریں۔ اسی رگ میں ، جب Div دوبارہ چھپایا جارہا ہے ، تو ایونٹ سننے والے کو ہٹا دیں۔

بلیک باکس کے اندر ڈیو کلک کریں ، کچھ نہیں ہوتا ہے۔ باہر پر کلک کریں ، یہ disapp ('# شو باکس') غائب ہو جاتا ہے۔ (فنکشن () {$ ('# بگ باکس') پر کلک کریں۔ ؛؛)؛ فنکشن باکسکلوزر (ای) {اگر (e.target.id! = 'bigbox') {document.body.body.removeEventListener ('کلک کریں' ، باکسکلوزر ، جھوٹے)؛ $ ('# بگ باکس'). چھپائیں ()؛ }

یہ بھی یقینی بنائیں کہ آپ jQuery کو اپنے پروجیکٹ میں شامل کریں کیونکہ مذکورہ بالا فعالیت میں کچھ اس لائبریری کا استعمال کرتے ہیں۔

ڈبلیو یا جاوا اسکرپٹ کے باہر کلک پر ڈیو یا مینو کو بند کریں