У меня есть HTML-страница с раскрывающимся списком <select>
.Я хочу изменить фон окна на красный при определенных условиях.
Это работает, но в Firefox 3.6.16 раскрывающийся список теряет символ виджета «вниз» (на котором можно щелкнуть список параметров).раскрывающегося списка) при изменении цвета фона.Виджет все еще там - можно щелкнуть по нему, раскрывающийся список расширяется как обычно - но Firefox при отображении красного цвета фона «теряет» фактический символ «вниз».
После выбора другого ввыпадающий список Firefox повторно отображает элемент, и символ снова появляется, все выглядит нормально.
У меня есть небольшой пример страницы для иллюстрации проблемы:
<html>
<head>
<title>Showing weird bug with select background colour change</title>
</head>
<body>
<select id="test_select" onchange="select_changed(this);">
<option value="one" selected="selected">one</option>
<option value="two">two</option>
<option value="three">three</option>
<option value="four">four</option>
</select>
<script>
//
// change <select> to red background unless its value is 'one'
//
last_val = 'one';
function select_changed(element) {
var current_val = element.value;
if (current_val != last_val) {
element.style.backgroundColor = current_val == 'one' ? '' : '#FF8888';
last_val = current_val;
}
}
</script>
</body>
</html>
Опция'one' должен быть цветом фона по умолчанию;любая другая опция имеет красный цвет.
При переходе от одного к другому заставляет JavaScript установить цвет фона элемента <select>
либо на #FF8888
, либо на ''.
Есливыпадающий список выглядит нормально с выбранным «один», и вы выбираете «два», вы увидите - в Firefox - что элемент станет красным, но символ "вещь" исчезнет.В следующий раз, когда вы выберете опцию, она вернется снова.Если вы идете другим путем - от красного до нормального цвета фона при выборе опции «один» - у меня нет той же проблемы.
Это то, с чем мне просто нужно жить, или есть лучший способизменить цвет фона?Спасибо!