2011-02-16 2 views
2

Я пишу JavaScript для реализации текста заполнителя в браузерах, у которых его нет.YUI3 JavaScript: получить CSS для текста заполнителя

Я успешно стиль замещающего текста в Chrome 9 и Fx 4B11, используя следующие правила стиля:

::-webkit-input-placeholder { color: #969696 !important; } 
input:-moz-placeholder { color: #969696 !important; } 

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

Кто-нибудь знает, как я могу это сделать в YUI3? Я пробовал:

YUI().use('node',function(Y) { 
    var phColor = Y.all('::-webkit-input-placeholder').getStyle('color'); 
}); 

К сожалению, это просто возвращает: "неопределенными: не связан с любыми узлами {_query =" вход :: - WebKit-вход-заполнитель "_nodes =}"

Кто знает, как Я могу сделать это? Или, если это возможно?

+1

Итак, я понял, что собственный CSS-объект во всех браузерах показывает только правила, которые браузер понимает, и поэтому находит «:: -webkit-input-placeholder "мысль о неподдерживаемых браузерах" невозможна. Единственный способ сделать это, насколько я могу судить, состоит в том, чтобы проанализировать CSS напрямую, используя что-то вроде [АОСС] (http://glazman.org/JSCSSP/), а затем выполнить поиск по полученной объектной модели для требуемого Правила CSS. Я могу написать модуль YUI3 для этого. –

ответ

1

Если вы не продаются на использовании YUI исключительно (или готовы собрать код JQuery из плагина и преобразовать его в модуль YUI3) этот плагин JQuery делает именно то, что вы пытаетесь сделать: https://github.com/mathiasbynens/Placeholder-jQuery-Plugin

Я использовал его в производственной среде, и он отлично работает даже в IE6 :)

+1

Нет, нет. Я уже написал общий код репликации заполнителя. Бит, который я хочу решить, использует ':: - webkit-input-placeholder' или': -moz-placeholder' для его стилизации. Этот плагин этого не делает. То, что он делает, это добавить «class =» placeholder »к элементам с заполнителем, чтобы их можно было легко стилизовать, что является хорошим альтернативным решением. Я буду голосовать за вас, поскольку это полезно, но на самом деле это не отвечает на вопрос. –

+0

Ах, моя ошибка, я неправильно понял. Надеюсь, подключенный плагин может предложить приемлемую альтернативу. В идеале было бы неплохо создать HTML5-заполнители только с CSS, поэтому, если вы найдете решение, которое позволяет это мне было бы интересно увидеть :) –

+0

Я принимаю это, так как я не думаю, что есть решение, и это это самое близкое мне. –

 Смежные вопросы

  • Нет связанных вопросов^_^