JavaScript හි ලූපයකින් ඉසව්වන්ගේ හසුරුවන්නන් ඉවත් කිරීම
දැන් අපට එක් අංගයක් නොමැති නමුත් කිහිපයක් ඇතැයි සිතමු. උදාහරණයක් ලෙස, ඡේද කිහිපයක්:
<p>text1</p>
<p>text2</p>
<p>text3</p>
මෙම ඡේදයන්ගෙන් එක් එක් ට ක්ලික් හසුරුවන්නා
අනුව func ශ්රිතය අමුණමු:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', func);
}
function func() {
console.log(this.textContent);
}
දැන් කේතය නැවත සකස් කරමු, එවිට එක් එක් ඡේදය එය මත පළමු ක්ලික් කිරීමට ප්රතිචාර දක්වයි. මෙය සඳහා ඡේදය මත ක්ලික් කරන විට අපි එයට අමුණා ඇති හසුරුවන්නා ඉවත් කරමු. මෙම ඉවත් කිරීම වන්නේ මෙම ඡේදයටම වන අතර, අනෙක් ඒවා කිසිසේත්ම බලපාන්නේ නැත.
ඔබ දැනටමත් දන්නා පරිදි, සිදු වූ
සිදුවීම වන අංගය, ශ්රිත-හසුරුවන්නා තුළ
this හරහා ලබා ගත හැකිය. මෙයින් අදහස් කරන්නේ
this වෙතින් හසුරුවන්නා ඉවත් කිරීම
කළ යුතු බවයි, මෙහි දැක්වෙන පරිදි:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', func);
}
function func() {
console.log(this.textContent);
this.removeEventListener('click', func); // හසුරුවන්නා ඉවත් කරමින්
}
ඡේදයන් ලබා දී ඇත. ඡේදයන්ගෙන් ඕනෑම එකක් මත ක්ලික් කිරීමෙන් එහි අවසානයට ඇඟිලි සලකුණක් එක් කරන්න. මෙම එකතු කිරීම සිදු වන්නේ පළමු ක්ලික් කිරීමේදී පමණක් වන පරිදි සකසන්න.