Как добавить стили во входной элемент, когда maxlength достигнут?

86
10

Очевидно, достаточно тривиально определить, была ли достигнута максимальная длина во входном элементе с помощью JavaScript.


Но мне было интересно, есть ли способ в настоящее время или, альтернативно, в любых будущих стандартах, что-то делать в соответствии с примером (пример psuedo-code) input:maxlength или input:length=[maxlength].

спросил(а) 2015-03-18T17:32:00+03:00 4 года, 8 месяцев назад
2
Решение
45

Вероятно, не в этом десятилетии. Это длинный выстрел. Но это может оставить дверь открытой для того, что вы просите.


Формулировка этого раздела довольно неоднозначна. Если текущий выбранный вход может быть "каким-то образом" рассмотрен как элемент выделения, и вы создали пользовательский псевдоэлемент для length = maxlength.


"В настоящее время нет способа отличить..." говорит, возможно, будут какие-то изменения в том, что является элементом выделения.


Последняя строка в этом разделе оставляет дверь открытой.


CSS-модуль псевдоэлементов Уровень 4


3.1. Выбор выделенного содержимого:

Псевдоэлементы выделения представляют части документа, которые были выделены в каким-либо образом.


:: Выбор   Псевдоэлемент:: selection представляет собой часть документа, выделенного пользователем. Это также относится, например, к выделенному тексту в редактируемом текстовом поле.


Активные против неактивных выборов часто оформляются по-разному. В настоящее время нет возможности различать.


:: правописание ошибок   Псевдоэлемент:: spelling-error представляет собой часть текста, которая была помечена пользовательским агентом как ошибочная.
:: Грамматика ошибок   Псевдоэлемент:: grammar-error представляет часть текста, которая была помечена агентом пользователя как грамматически некорректная.


Примечание. Будущий уровень CSS может создавать способы создания пользовательских выделенных псевдоэлементов.

ответил(а) 2015-03-18T18:49:00+03:00 4 года, 8 месяцев назад
Еще 1 ответ
56

В настоящий момент невозможно определить, достиг ли максимальная длина ввода (текст или текстовая область) в CSS или CSS3. Если вы действительно хотите его проверить, вам понадобится javascript, как вы сами сказали.

Что касается будущих планов: я ничего не видел о чем-то подобном на страницах W3C, хотя это было бы очень полезно.:)

ответил(а) 2015-03-18T17:39:00+03:00 4 года, 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема