Сброс цвета границы элемента управления вводом (HTML / Javascript)

StackOverflow https://stackoverflow.com/questions/576319

Вопрос

Кто-нибудь знает, как сбросить цвет границы элемента управления вводом после того, как вы изменили его с помощью javascript?Полезно для проверки путем выделения полей, содержащих неверные данные и т.д.

Например.изменение границы:

document.getElementById('myinput').style.border = '1px solid red';

как сбросить настройки?следующая строка просто полностью удаляет границу...

document.getElementById('myinput').style.border = '';

если я сброшу цвет границы обратно на определенный цвет (напримерчерный или серый и т.д.), это может выглядеть странно в некоторых браузерах / операционных системах, которые как бы "оформляют" элементы управления...

огромное спасибо!

Это было полезно?

Решение

Не делайте этого с настройкой атрибутов стиля.Сделайте это с помощью CSS-классов.Я бы также рекомендовал использовать библиотеку Javascript для обработки этого.Это просто делает код чище.

Удаление атрибутов CSS проблематично, потому что вы не всегда знаете, на что их следует вернуть.Добавление и удаление классов просто...работает.

У вас может быть несколько классов для каждого элемента, так что на самом деле нет аргументов против того, чтобы делать это таким образом (имхо).

Я привык к jQuery, поэтому мой пример именно с этим.

Неправильный путь:

$("#myinput").css("border", "1px solid red");

Правильный путь:

<style type="text/css">
.redborder { border: 1px solid red; }
</style>

<script type="text/javascript">
$("#myinput").addClass("redborder");
$("#myinput").removeClass("redborder");
$("#myinput").toggleClass("redborder");
</script>

Другие советы

Это работает для меня:

document.getElementById('myinput').style.removeProperty('border');

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

Правильный способ "сброса" - установить значение по умолчанию.Я не уверен, что используется по умолчанию, но я бы предположил, что что-то вроде "1px black" или что-то подобное.

Я обычно использую эту технику в различных приложениях.Когда я не знаю значения по умолчанию, я установлю свое собственное "значение по умолчанию", чтобы я мог повторить его.Один из моих любимых методов работы с веб-страницами - это установка цвета фона элемента управления, а не границы.Это очень заметно, и вы можете выбрать более приглушенный цвет и все равно произвести впечатление.В этом случае очень легко вернуть фон к белому цвету, который используется по умолчанию.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top