⊗jsPmPrSEE 477 of 505 menu

JavaScript'te Tekil Öğe Düzenleme

Şimdi, giriş alanları kullanarak öğelerin metinlerini düzenlemeyi öğreneceğiz. Basit şeylerle başlayacağız ve yavaş yavaş karmaşık hale getireceğiz.

Öyleyse, aynı ebeveynde bulunan bir paragraf ve bir input verildiğini varsayalım:

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

Input odağını kaybettiğinde, metninin paragrafta görünmesini sağlayalım:

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

Şimdi, sayfa yüklendiğinde inputta zaten paragrafın metninin bulunmasını sağlayalım. Böylece input kullanarak paragrafta bulunan metni düzenleyebileceğiz.

Uygulayalım:

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

Yukarıdaki kodu, paragraf metninin input odağı kaybolduğunda değil, inputa metin girilirken değişmesi için değiştirin.

Input'un Görünmesi

Şimdi, başlangıçta sayfada input olmamasını, ancak paragrafa tıklandığında görünmesini sağlayalım. Yani başlangıç HTML'miz şöyle görünecek:

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

Önce sadece düzenleme olmadan inputun görünmesini sağlayalım:

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

Şimdi, input odağı kaybettiğinde paragrafın metninin değişmesini sağlayalım:

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); });

Ancak kodumuz mükemmel değil, çünkü paragrafa her tıklama yeni bir inputun görünmesine neden olacak.

Sorunu çözmek için, sadece oda kaybedildiğinde mevcut inputu silelim:

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(); // inputu kaldır }); elem.parentElement.appendChild(input); });

Koduma bakmadan, kendi başınıza açıklanan görevi çözün.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet