РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsPmPrSEE 477 of 505 menu
◀ ▶

Уредување на посебен елемент во JavaScript

Сега ќе научиме како да ги уредуваме текстовите на елементите со помош на полиња за внесување. Ќе започнеме со едноставни работи и постепено ќе ги комплицираме.

Значи, нека ни се дадени параграф и input, поставени во еден родител:

<div id="parent"> <p id="elem">text</p> <input id="input"> </div>

Ајде да направиме така што при губење на фокусот во input-от, неговиот текст да се појавува во параграфот:

let elem = document.querySelector('#elem'); let input = document.querySelector('#input'); input.addEventListener('blur', function() { elem.textContent = this.value; });

Сега ајде да направиме така што при влегување на страницата, во input-от веќе да стои текстот на параграфот. На овој начин, со помош на input-от, ќе можеме да го уредуваме текстот лоциран во параграфот.

Да го имплементираме:

let elem = document.querySelector('#elem'); let input = document.querySelector('#input'); input.value = elem.textContent; // го запишуваме во input-от текстот на параграфот input.addEventListener('blur', function() { elem.textContent = this.value; });

Модифицирајте го горенаведениот код така што текстот на параграфот да се менува не при губење на фокусот, туку при внесување на текст во input-от.

Појавување на input

Сега ајде да направиме така што input-от првично да не е на страницата, туку да се појавува при клик на параграфот. Односно, нашиот почетен HTML ќе изгледа вака:

<div id="parent"> <p id="elem">text</p> </div>

За почеток, едноставно да го имплементираме појавувањето на input-от, без уредување:

let elem = document.querySelector('#elem'); elem.addEventListener('click', function() { let input = document.createElement('input'); input.value = elem.textContent; elem.parentElement.appendChild(input); });

А сега ајде да направиме така што при губење на фокусот во input-от, да се менува текстот на параграфот:

let elem = document.querySelector('#elem'); elem.addEventListener('click', function() { let input = document.createElement('input'); input.value = elem.textContent; input.addEventListener('blur', function() { elem.textContent = this.value; }); elem.parentElement.appendChild(input); });

Сепак, нашиот код не е совршен, бидејќи секое кликнување на параграфот ќе доведе до појавување на нов input.

За решавање на проблемот, едноставно при губење на фокусот ќе го отстраниме тековниот input:

let elem = document.querySelector('#elem'); elem.addEventListener('click', function() { let input = document.createElement('input'); input.value = elem.textContent; input.addEventListener('blur', function() { elem.textContent = this.value; this.remove(); // го отстрануваме input-от }); elem.parentElement.appendChild(input); });

Самостојно, без да го гледате мојот код, решете ја опишаната задача.

← →
↑
Македонски▼
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј