Кнопка 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 увидеть привязку. Что такого плохого в якоре?

Другие вопросы по тегам