⊗jsPmDmLHU 362 of 505 menu

JavaScript တွင် loop အတွင်း event handler များကို ဖြုတ်ခြင်း

ယခု အစုတစ်ခုတည်းမဟုတ်ဘဲ များစွာသော element များရှိသည်ဆိုပါစို့။ ဥပမာအားဖြင့်၊ များစွာသော အတ္ထုပ္ပတ္တိများ-

<p>text1</p> <p>text2</p> <p>text3</p>

ဤအတ္ထုပ္ပတ္တိများအားလုံးတွင် ကလစ်တစ်ချက် event handler အဖြစ် func function ကို ချိတ်ဆက်ကြပါစို့။

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', func); } function func() { console.log(this.textContent); }

ယခု code ကို ပြန်ပြင်ဆင်ပြီး အတ္ထုပ္ပတ္တိတစ်ခုစီသည် ၎င်းကို ပထမဆုံးအကြိမ်နှိပ်လိုက်သည့်အခါတွင်သာ တုံ့ပြန်အောင်လုပ်ကြပါစို့။ အတ္ထုပ္ပတ္တိတစ်ခုကို နှိပ်လိုက်သောအခါတွင် ထိုအတ္ထုပ္ပတ္တိမှ ချိတ်ထားသော handler ကို ဖြုတ်ပါမည်။ ဤနည်းဖြင့် ဖြုတ်ခြင်းသည် ထိုအတ္ထုပ္ပတ္တိမှသာ ဖြစ်ပြီး ကျန်အတ္ထုပ္ပတ္တိများကို ထိခိုက်ခြင်းမရှိပါ။

သင်သိပြီးဖြစ်သည့်အတိုင်း၊ event ဖြစ်ပွားသော element ကို function-handler အတွင်း this မှတစ်ဆင့် ရယူနိုင်ပါသည်။ ဆိုလိုသည်မှာ this မှ handler ကိုဖြုတ်ရန် လိုအပ်သည်၊ ဤသို့ဖြစ်သည်-

let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.addEventListener('click', func); } function func() { console.log(this.textContent); this.removeEventListener('click', func); // handler ကိုဖြုတ်ပါ }

အတ္ထုပ္ပတ္တိများကိုပေးထားသည်။ အတ္ထုပ္ပတ္တိများအနက် တစ်ခုခုကို နှိပ်လိုက်သောအခါ ၎င်း၏အဆုံးတွင် အာမေဋိတ်လက္ခဏာ (!) ထည့်ပေးပါ။ �ထပ်ထည့်မှုသည် ပထမဆုံးအကြိမ်နှိပ်သည့်အခါတွင်သာ ဖြစ်ပေါ်အောင်လုပ်ပါ။

မြန်မာ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ဝက်ဘ်ဆိုက် လုပ်ဆောင်ခြင်း၊ ဆန်းစစ်လေ့လာခြင်းနှင့် ပုဂ္ဂလိကပြုပြင်ခြင်းအတွက် ကျွန်ုပ်တို့သည် cookie များကို အသုံးပြုပါသည်။ ဒေတာများကို ပြုပြင်ခြင်းသည် ကိုယ်ရေးကိုယ်တာ မူဝါဒအတိုင်း ဖြစ်ပါသည်။
အားလုံးလက်ခံရန် ပြင်ဆင်ရန် ငြင်းပယ်ရန်