Я создаю библиотеку пользовательского интерфейса в JS, которая может, не полагаясь на любые таблицы стилей CSS, создавать компоненты пользовательского интерфейса, стилизованные из кода. До сих пор это было довольно просто, за исключением стилизации различных состояний управления (например, ввода: фокус один).Как установить ввод: стиль фокуса программно с использованием JavaScript
код, который я использую для создания поля ввода:
function newInput()
{
var ctr = docmuent.createElement("input");
ctr.setAttribute("type","text");
ctr.setAttribute("value", some-default-value);
ctr.style.fontFamily = "sans-serif,helvetica,verdana";
/* some font setup here, like color, bold etc... */
ctr.style.width = "256px";
ctr.style.height = "32px";
return ctr;
}
Стилизация его состояние по умолчанию легко. Однако я не уверен, как установить стиль для таких состояний, как сфокусированный, отключенный или не редактируемый.
Если у меня будут таблицы стилей CSS, включенные в проект, которые будут легко отсортированы. Однако я не могу включить какие-либо файлы CSS, это должен быть чистый JS.
Кто-нибудь знает, как установить стиль для состояния входного поля (например, вход: фокус) прямо из кода JS?
Нет JQuery пожалуйста :-) Просто прямо JS.
Заранее благодарен!
Возможно, вы имели в виду: input.addEventListener? – Sinisa
Возможно, я имел в виду, что: P –
Спасибо. Оба предоставленные ответы (см. Ниже) дают решение, но я могу только принять его, и я решил пойти с вами, так как он избегает добавления CSS во время выполнения в заголовок. – Sinisa