Shadowbox.js скрывает мои выбранные входы - PullRequest
1 голос
/ 11 апреля 2011

Я уверен, что не могу быть первым, кто столкнулся с этой проблемой, но мне не повезло найти решение.

Я использую Shadowbox вего самая простая форма;просто сделать всплывающее изображение со ссылкой типа

Click <a href="myimage.png" rel="shadowbox">here</a> to view the image.

Это работает нормально, но имеет один очень странный побочный эффект: когда я нажимаю на ссылку, все выбранные входы (т.е. раскрывающиеся окна)Форма на моей странице исчезнет.Небольшое наблюдение за Firebug показывает, что CSS изменяется, чтобы дать тегам <select> свойство visibility: hidden.Когда изображение отклоняется, входные данные появляются снова.

Неудивительно, что это происходит последовательно во всех браузерах.

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

Другие факторы, которые могут иметь или не иметь значение:

  • В прошлом я мало что делал с Shadowbox и вполне мог упустить что-то смущающее очевидное.
  • Моя страница и ее форма генерируются CakePHP.
  • Страница использует jQuery, а Shadowbox использует адаптер jQuery.
  • Исчезающие входные данные не имеютclass атрибутов.У них есть id атрибуты, которые генерируются CakePHP, но эти имена очень специфичны для моего приложения и вряд ли могут вызвать какие-либо коллизии CSS.
  • Насколько я могу сказать, all из выбранных входов исчезают, и никакие другие элементы , входные данные или другие, на странице не затрагиваются вообще.(Даже метки, связанные с входами, не затрагиваются.)
  • Версии: Shadowbox 3.0.3, jQuery 1.4.2, CakePHP 1.3

1 Ответ

3 голосов
/ 12 апреля 2011

Скорее всего, это баг в shadowbox.Теги select скрыты, поскольку в некоторых версиях IE они отображаются с использованием собственных элементов управления Windows и, таким образом, всегда отображаются «над» любым другим элементом с z-индексом.Это, очевидно, является проблемой для ShadowBox, поэтому решение состоит в том, чтобы скрыть их при отображении окна.Shadowbox должен делать это только для проблемных браузеров, но я думаю, что они используют более общий подход - всегда скрывать их.

...