Сообщение от voraa
|
Почему fixed, а не absolute?
|
Кажeтся там успели побывать все значения. Что было последним, то и осталось (fixed короче absolute в рамках лимита размера поста на данном форуме в 10 тысяч символов), так как особой разницы не заметил.
Сообщение от voraa
|
Зачем при каждой обработке события заново создавать dummy? И каждый раз присваивать фиксированные значения (типа 'none', '0px') в style.
|
В выходные попытался оптимизировать со статическим dummy - всё слетело!
Цитата:
|
Не эффективнее ли будет создать один dummy один раз, заполнить все фиксированные значения. А в обработчике только задавать значения зависящие от конкретного элемента textarea и присоединять это dummy в DOM, а потом удалять из DOM.
|
Всё слетело и потребовалось бы писать кругом
Сообщение от voraa
|
И каждый раз присваивать фиксированные значения (типа 'none', '0px') в style.
|
как Вы и предлагаете. А это - излишнее захламление кода в рамках поста на данном форуме.
То есть, я не подчеркнул главного: Здесь представлена
усечённая форумная реализация.
Естественно, производительность страдает.
(
В полной реализации контейнер div перетаскивается мышью, как полноценное окно, в отладчике ассемблера (тема) и жалкой сотней строчек листинга без переносов.)
Для оптимизации мало dummy сделать постоянным.
Необходимо создать отдельный массив оценки переносов строк, чтобы сравнивать два текста и перевычислять только изменённый фрагмент (не только по onkeypress и selectionStart/End, но и изменении value). Тогда при редактировании текста «Война и Мир» не должно быть зависаний на каждом новом символе…
И расчёт переносов нужно сделать не одним циклом, а генератором для работы в фоновом режиме.
Работы - много!
Здесь возник вопрос, на который поисковики не выдают готовых решений.
Как можно сравнить два текста (аналогично github) и локализовать именно область изменений?
(С такой задачей я ещё не сталкивался…)
P.S.: А что на счёт моих экспериментов с MutationObserver и Object.defineProperty для buddy, caption и status?
На сколько
легально так делать в рамках совместимостей?
