Кнопка jQuery UI не работает в IE 7
У меня есть этот код:
<script type="text/javascript" src="<?=$path?>common/_LIB/3rd/jquery/jquery-ui-1.8.16/js/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="<?=$path?>common/_LIB/3rd/jquery/jquery-ui-1.8.16/js/jquery-ui-1.8.16.custom.min.js"></script>
<link type="text/css" href="<?=$path?>common/_LIB/3rd/jquery/jquery-ui-1.8.16/css/ui-lightness/jquery-ui-1.8.16.custom.css" rel="stylesheet" />
<script>
$(function() {
$('.button,.button floatRight').button();
});
</script>
а также
<a class="button floatRight" href="handset_list.php"><?=$reprint?></a>
и все хорошо в Chrome и FF, IE 9, но в IE 8 и IE 7 я не вижу кнопки только для вышеуказанной ссылки.
3 ответа
У вас есть ошибка в вашем коде в селекторе jQuery. Нет имени тега с именем "floatRight". Попробуй это:
$('.button').button();
Попробуйте следующий код:
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
Вы, наверное, имеете в виду
$(function() {
$('.button,.button floatRight').button();
});
Пробел в атрибуте tag означает, что есть два класса. В вашем случае кнопка, на которую вы пытаетесь нацелиться, имеет два класса: button
а также floatRight
, Отсюда две точки.
РЕДАКТИРОВАТЬ:
Я нашел что-то еще: функция $("#something").button();
звонки $.data
много раз. Согласно http://caniuse.com/ IE имеет лишь частичную поддержку пользовательских данных для атрибутов, поэтому он может не работать, как думают разработчики jQuery UI, как в IE 7. Многие вызовы $.data
заставь меня думать .button()
функция как бы полагается на нее (но я пока не очень понимаю, я просто бросил быстрый взгляд). Если это так, то это, вероятно, причина. Если вам действительно нужна поддержка IE 7, я предлагаю использовать сборку jQuery UI, выпущенную, когда IE 7 был наиболее используемым IE, хотя это может не поддерживать все функции, которые вы используете сейчас. Я бы сказал, просто позвольте пользователям IE 7 увидеть привязку. Что такого плохого в якоре?