ජාවාස්ක්රිප්ට් හි නිර්නාමික ශ්රිත නිර්බන්ධනය කිරීම
දැන් අපගේ ඡේද සඳහා නිර්නාමික ශ්රිතයක් බැඳී ඇතැයි සිතමු:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function() {
console.log(this.textContent);
});
}
එම ඡේදය මත ක්ලික් කිරීමෙන් පසුව මෙම ශ්රිතය ඡේදයෙන් නිර්බන්ධනය කිරීමට අපට අවශ්ය යැයි සිතමු. කෙසේවෙතත්, ගැටළුවක් අපව සිටී: ශ්රිතයට නමක් නැත, එනිසා එය නිර්බන්ධනය කිරීම සඳහා එම නම භාවිතයෙන් එය වෙත යොමුවිය නොහැක.
ගැටළුව විසඳීම සඳහා ශ්රිතයට නමක් දීමට සිදුවේ, එය නම්කරණය කළ ශ්රිතාත්මක ප්රකාශනයක් බවට පත් කිරීමෙනි. අපි මෙය කරමු:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function func() { // ශ්රිතයට නමක් දුනි
console.log(this.textContent);
});
}
දැන් මෙම ශ්රිතය එයින්ම තුළින් නිර්බන්ධනය කළ හැකිය:
let elems = document.querySelectorAll('p');
for (let elem of elems) {
elem.addEventListener('click', function func() {
console.log(this.textContent);
this.removeEventListener('click', func); // ශ්රිතය නිර්බන්ධනය කරයි
});
}
අංකයක් ලියා ඇති එක් එක් අයිතමය සහිත ul ලැයිස්තුවක් ලබා දී ඇත.
ඕනෑම li එකක් මත ක්ලික් කිරීමෙන් එහි අංකය
එකකින් වැඩි වන පරිදි කරන්න.
පෙර කාර්යය වෙනස් කරන්න, එවිට
සෑම li එකක්ම එහි
අගය වැඩි කරන්නේ එය මත පළමු අවස්ථාවේ
එබීමෙන් පමණි.
පෙර කාර්යය වෙනස් කරන්න, එවිට
සෑම li එකක්ම එහි අගය
වැඩි කරන්නේ එහි අගය
10 ට වඩා අඩු නම් පමණි.