ПредишенСледващото

Умение приема три възможни стойности: верни, неверни, и да наследи. Вярно е, показва, че елементът може да се редактира. Недействителна стойност също се счита за вярно. Фалшиви показва, че елементът не може да се редактира. Настройката по подразбиране е наследява, което означава, че елементът може да се редактира, ако нейната непосредствена опаковка родител също може да се редактира. Това означава, че ако направите един елемент може да се редактира, а след това всички деца неговите елементи, включително и не идва, също може да се редактира. Изключения са деца елементи, които са посочени contentEditable = неверни.

Как да създадете вграден текстов редактор с contenteditable атрибут

Актуални тенденции и подходи за уеб програмиране

Научете алгоритъм бързо професионално израстване с нула в строителна площадка

Първо трябва да създадете бутон превключвател в режим на редактиране и на самия текст.

Всички елементи, за да бъдат редактирани трябва да има уникален номер. Идентификатори ще ни помогнат в спасяването на промените, или когато трябва да спаси текста за бъдеща подмяна на всеки елемент. JS кода по-долу редактирате и да запазите промените.

За да съхраните редактирания текст в променлива, можете да използвате querySelectorAll (). Този метод връща NodeList, който съхранява всички елементи на документи, определени от дадена селектор. Използването на този метод е много по-лесно да следите редактируеми елементи в една променлива. Например, достъп до заглавието на документа, можете да използвате editables [0], които ще направим сега.

Сега трябва да се свързва с събитие манипулатор кликване на бутона. Всеки път, когато потребител кликне върху бутона, ние проверяваме титлата в режим на редактиране. Ако заглавието не може да се редактира, всички могат да се редактират елементи молим contentEditable собственост, за да е истина. Текстовият "Редактиране на документи", за да промените бутона "Запазване на промените". След като потребителят е направил необходимите промени, той кликне върху бутона "Запазване на промените", което води до незабавни при запазване на промените.

Ако заглавието се редактира, всички елементи, посочени contentEditable собственост, за да лъжа. На този етап можем да запишете съдържанието на документа на сървъра, за да го използвате по-късно, както и да синхронизирате промени с копие от документа. В този урок съм всичко ще бъде записан в локално хранилище. Не случайно презаписване на данни, когато се съхраняват в локално хранилище, използвам идентификатора на всеки елемент. CodePen демо

Първи съхранява съдържание

Ако сте в демонстрацията по-горе да правим никакви промени, и се презарежда страницата, всички промени ще бъдат загубени. Това е така, защото кодът не е регистрирано, което ще възстанови на архивни данни. След запазването на данните в LocalStorage ние трябва да ги възстанови, когато потребителят отвори страницата отново.

Как да създадете вграден текстов редактор с contenteditable атрибут

Актуални тенденции и подходи за уеб програмиране

Научете алгоритъм бързо професионално израстване с нула в строителна площадка

Втората промяна - данни автоматично спаси. Това може да стане по различни начини. Можете да запишете данните на всеки 5 секунди.

Можете да запазите данните за всеки keydown събитие.

В тази статия, аз бях първия метод. Можете да съхраняват данни на всяко събитие, което ви е удобно. CodePen демо

Редактирането на всички страници с помощта на Design режим на собственост

contentEditable полезно, когато се наложи да промените някои от елементите на дадена уеб страница. Ако е необходимо да промените всички или почти всички елементи на страницата, а след това там ще ви помогне имот designMode. Този имот се отнася за целия документ. За да завие използва съответно document.designMode = "включено"; и document.designMode = "изключено".

Тази функция се е доказал като полезно в ситуации, когато работите с дизайнер и мениджър на съдържанието. Вие създавате дизайна на страницата, и го напълнете с текст тест и мениджъри на съдържание заменят текста към нормалното. За да видите designMode в действие, се отвори панела за конзола в разработчика на браузъра, въведете document.designMode = 'за'; и натиснете Enter. Сега всичко е на страницата може да се редактира.

Заключителни мисли

Редакция: Екип webformyself.

Как да създадете вграден текстов редактор с contenteditable атрибут

Актуални тенденции и подходи за уеб програмиране

Научете алгоритъм бързо професионално израстване с нула в строителна площадка

Най-IT новини и уеб разработки на нашия канал Телеграма

Подкрепете проекта - споделете линка, благодаря!