IE8 / IE9 - тег SELECT - размер больше 1 с большим количеством элементов - PullRequest
0 голосов
/ 31 октября 2011

У меня на компьютере с Windows Vista происходило очень странное поведение, когда у меня был элемент HTML SELECT с обеими следующих характеристик: -

  • «размер» больше 1 (скажем, размер = «3») [то есть он становится списком, а не раскрывающимся списком]
  • и больше обычного числаэлементов (скажем, более 100 элементов, в зависимости от длины каждого элемента)

Код выглядит следующим образом: -

<select size="3" name="controlId" id="controlId">
   <option value=""></option>
   <option value="1">aaaaaaaaa</option>
   <option value="2">bbbbbbbbb</option>
   <option value="3">ccccccccc</option>
   <option value="4">ddddddddd</option>
   <!-- ...repeat above line say 100 times... -->
   <option value="999">zzzzzzzzz</option>
</select>

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

Проблема возникает в IE8 / IE9 (в Vista) -обратите внимание, что код отлично работает в IE7 в Vista и в Firefox - и нормально работает в IE8 / 9 при использовании Windows XP).

Я попытался поэкспериментировать с тегом DOCTYPE: -

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- or -->
<!DOCTYPE html>

Также с тегом HTML: -

<html xmlns="http://www.w3.org/1999/xhtml" >
<!-- or -->
<html>

Также с тегом META: -

<meta http-equiv="X-UA-Compatible" content="IE=9" />
<!-- or -->
<meta http-equiv="X-UA-Compatible" content="IE=8" />
<!-- or -->
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<!-- or -->
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />

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

<meta http-equiv="X-UA-Compatible" content="IE=7" />

Однако, он действительно должен работать правильно с настройкой "IE=8" или "IE=9", а не возвращаться к "IE=7".Это также будет работать нормально, если я вообще ничего не использую, но, насколько я вижу, это происходит, когда браузер переключается в представление совместимости (как видно из диалога инструментов разработчика IE).

Это выглядит такошибка в IE8 / 9 - кто-нибудь имел эту проблему и / или у кого-нибудь есть решение?

...