jQuery Click событие не работает с вызовом Fancybox в IE - PullRequest
1 голос
/ 21 марта 2011

Хорошо, так что это огромная проблема.Сайт, который я создаю, основан на Fancybox и должен быть совместим с IE .... Я только что узнал, что при нажатии на div, который запускает fancybox (в safari и firefox), он не появляется в IE 7 (IE8 похоже работает).Мой скрипт выглядит так:

jQuery(document).ready(function() {
    $(".students_button").click(function(){
        $.fancybox(
            '<p>HTML content here</p>',
            {
                'autoDimensions'    : false,
                'width'             : 600,
                'height'            : 'auto',
                'transitionIn'      : 'fade',
                'transitionOut'     : 'fade'
            }
        );
    });
});

Мой CSS для кнопки выглядит так:

#content #home #buttons {
  width: 310px;
  float: left;
  margin-right: 10px;
  margin-right: 0;
}
#content #home #buttons #button {
  display: block;
  height: 70px;
  border-radius: 15px;
  -moz-border-radius: 15px;
  -webkit-border-radius: 15px;
  background: #3a79f7 url(/images/blue_button_bg.png) repeat-x;
  filter: e("progid:DXImageTransform.Microsoft.gradient(startColorstr='#3d7cfa', endColorstr='#2463e1')");
  background: -webkit-gradient(linear, left top, left bottom, from(#3d7cfa), to(#2463e1));
  background: -moz-linear-gradient(top, #3d7cfa, #2463e1);
  pointer: hand;
  margin-bottom: 10px;
}
#content #home #buttons #button #text {
  color: #ffffff;
  font-size: 22pt;
  text-align: center;
  position: relative;
  top: 13px;
  z-index: 1000;
}

И, наконец, мой HTML-код выглядит так:

<div id="content">
   <div id="home">
    <div id="buttons">
        <div id="button">
            <div id="text" class="students_button">Students</div>
        </div>
    </div>
   </div>
</div>

Если это имеет значение, я использую немного специфичного для IE CSS, чтобы вызвать взлом граничного радиуса:

#content {
    #home {
        #buttons {
            #button {
                behavior: url(/border-radius.htc);
            }
        }
    }
}

Файл border-radius.htc может быть расположен здесь .Я использую jQuery 1.5.1 и Fancybox 1.3.4, если это имеет значение.

Спасибо за любую помощь, которую вы можете оказать в исправлении этого!

1 Ответ

1 голос
/ 21 марта 2011

Я скопировал и вставил ваш код, и он работал как положено в IE7 и IE8.Но он не работал, когда IE был в режиме Quirks.Возможно ли, что IE загружает страницу в режиме причуд?Если вы не знаете, вы можете узнать это, нажав клавишу F12, чтобы открыть Инструменты разработчика IE, и заглянув в поле «Режим документа».

Если это проблема, вы можете предотвратить открытие IE в режиме «Причуды», используядействительный DocType.Попробуйте добавить это в начало вашего HTML-документа:

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

Надеюсь, что это работает!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...