⊗jsPmOENEH 430 of 505 menu

Kuweka Vichakataji kwa Vipengele Vipya katika JavaScript

Tuchukulie tuna orodha ul na kifungo:

<ul> <li>kipengee</li> <li>kipengee</li> <li>kipengee</li> <li>kipengee</li> <li>kipengee</li> </ul> <button>ongeza</button>

Tupate vipengele vyetu katika anuwai zinazofanana:

let button = document.querySelector('button'); let list = document.querySelector('ul'); let items = list.querySelectorAll('li');

Tufanye ili kwa kubofya kwa li yoyote alama ya mshangao iongezwe mwishoni:

for (let item of items) { item.addEventListener('click', function() { this.textContent = this.textContent + '!'; }); }

Wacha sasa tufanye ili kwa kubonyeza kifungo li mpya iongezwe mwisho wa orodha:

button.addEventListener('click', function() { let item = document.createElement('li'); item.textContent = 'kipengee'; list.appendChild(item); });

Hata hivyo, tutapata tatizo: kubofya li mpya iliyoongezwa hataisababisha kuongezwa kwa alama ya mshangao mwishoni. Jambo ni kwamba tunaongeza kichakataji cha kubofya kwa li zile zilizokuwapo awali, lakini sio kwa mpya.

Turekebishe tatizo kwa kuweka kichakataji cha kubofya kwa li mpya:

button.addEventListener('click', function() { let item = document.createElement('li'); item.textContent = 'kipengee'; item.addEventListener('click', function() { // kichakataji cha kubofya this.textContent = this.textContent + '!'; }); list.appendChild(item); });

Hata hivyo, sasa msimbo wa kitendakazi-kichakataji unarudiwa katika maeneo mawili - kwa li zilizokuwapo awali na kwa mpya. Turekebishe hili kwa kuitenga katika kitendakazi tofauti:

function handler() { this.textContent = this.textContent + '!'; }

Tutumie kitendakazi chetu, ili kuepuka kurudia msimbo:

for (let item of items) { item.addEventListener('click', handler); } button.addEventListener('click', function() { let item = document.createElement('li'); item.textContent = 'kipengee'; item.addEventListener('click', handler); list.appendChild(item); });

Kazi kwa ujumla imetatuliwa na tumeepuka kurudia msimbo wa kitendakazi-kichakataji. Hata hivyo, kuweka vichakataji wa matukio bado inatubidi katika maeneo mawili: katika kitanzi kwa li zilizopo, na wakati wa kubofya kifungo. Katika somo linalofuata tutachambua njia ya kuondoa usumbufu huu.

Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa