Многострочный Заполнитель Текстового Поля, Который Работает В Firefox



Многострочный заполнитель текстового поля, который работает в Firefox

Мне нужно было создать многострочный заполнитель в текстовой области.

Оказалось, что Firefox, в отличие от всех других современных браузеров, не поддерживает разрывы строк в элементе-заполнителе.

Хоть он и делает это в соответствии со спецификацией W3C, но радости это не добавляет. Мне не понравились все решения, которые я искал в Google. Я не хотел устанавливать плагины JQuery только для переноса строк в Firefox. Я решил попробовать сделать свой заполнитель во вспомогательном блоке.

В результате получилось простое решение, которое работает во всех браузерах и предоставляет широкие возможности по настройке заполнителя.

Стандартное поведение реализовано с помощью jQuery (используется в моем проекте, при необходимости легко заменяется чистым JS).

Если вы хотите скрыть заполнитель, когда поле находится в фокусе, вы можете обойтись только CSS. Смотреть пример на jsfiddle. УПД Спасибо Гвер за советы.

Изменения и уточнения:

  • на чистом CSS не получится, без JS не обойтись
  • в JS вам нужно использовать событие «вход».

    Затем заполнитель исчезает при вставке из буфера обмена через контекстное меню.

  
  
   

<div id="textAreaWrap"> <textarea id="textArea"></textarea> <!-- Check here. If textarea has content - set for this div attribute style="display: none;" --> <div id="placeholderDiv">Multiline textarea<br> placeholder<br><br>that works in Firefox</div> </div>



#textAreaWrap { position: relative; background-color: white; } #textArea { position: relative; z-index: 1; width: 350px; height: 100px; min-height: 100px; padding: 6px 12px; resize: vertical; background-color: transparent; /* When set background-color: transparent - Firefox displays unpleasant textarea border. Set border style to fix it.*/ border: 1px solid #a5a5a5; } #placeholderDiv { position: absolute; top: 0; padding: 6px 13px; color: #a5a5a5; }



$(document).

on('input', '#textArea', function () {

Теги: #Firefox #многострочный заполнитель #jQuery #CSS #Firefox #jQuery

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.