Сброс цвета границы элемента управления вводом (HTML / Javascript)
-
05-09-2019 - |
Вопрос
Кто-нибудь знает, как сбросить цвет границы элемента управления вводом после того, как вы изменили его с помощью 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" или что-то подобное.
Я обычно использую эту технику в различных приложениях.Когда я не знаю значения по умолчанию, я установлю свое собственное "значение по умолчанию", чтобы я мог повторить его.Один из моих любимых методов работы с веб-страницами - это установка цвета фона элемента управления, а не границы.Это очень заметно, и вы можете выбрать более приглушенный цвет и все равно произвести впечатление.В этом случае очень легко вернуть фон к белому цвету, который используется по умолчанию.