jQuery ломается после $ (document) .ready () в IE - PullRequest
1 голос
/ 07 марта 2012

Я использую jQuery уже несколько лет, и у меня практически не было кросс-браузерных проблем до моего последнего проекта.Я работаю над сайтом Asp.NET, который использует довольно мало jQuery, и столкнулся с самой сложной проблемой.При использовании IE и только после обратной передачи или при первом переходе на сайт (не когда вы просто обновляете страницу) jQuery правильно выполняет метод .ready, но затем, когда любая функция, связанная с событием, запускает несколько методов jQuery внутри этой функцииперерыв.Вы можете увидеть это здесь .Во всех других браузерах, которые я тестировал, jQuery работает отлично.

Я просто не знаю, что еще попробовать.

Если вы зайдете на сайт, самый простой способ увидеть ошибку, о которой я говорю, - это изменить местоположение, а затем попытаться изменить его снова.

Спасибо

<script type="text/javascript">

$(function () {

    $('#ctl00_uxLocationSelect_uxLocationButton').button({
        icons: { primary: 'ui-icon-flag', secondary: 'ui-icon-triangle-1-s' }
    }).unbind('click').unbind('hover').click(function () {
        var wrap = $(this).siblings('.locationDD-wrap').first();

        if (wrap.is(':visible')) { // IE breaks here
            wrap.slideUp(300, 'swing');
            $(this).removeClass('ui-state-active');
        }
        else {
            wrap.slideDown(500, 'swing');
            GetCities(wrap.find('.citySelect-wrap').first(), wrap.find('.loading').first());
            $(this).addClass('ui-state-active');
        }
    }).mouseout(function() {
        $(this).addClass('ui-state-hover'); // IE breaks here
    }).hover(function () {
        $(this).removeClass('ui-state-hover'); // IE breaks here
    });

    $('#ctl00_uxLocationSelect_uxStateSelect').selectmenu().change(function () {
        var loading = $(this).siblings('.loading').first();
        var cityWrap = $(this).siblings('.citySelect-wrap').first();
        GetCities(cityWrap, loading);
    });

    // Other functions omitted
});
</script>

Этот код находится в середине HTML, но я переместил его без изменений.Странно то, что button (), click () и другие функции jQuery работают нормально ...

РЕДАКТИРОВАТЬ: я только что попробовал сайт на машине моего соседа по комнате, и он, кажется, работает отлично ..кто-то, пожалуйста, попробуйте перейти на http://www.thegameshuffle.com/ и изменить местоположение несколько раз и опубликовать, что происходит?

РЕДАКТИРОВАТЬ: я не использую панель обновления

1 Ответ

0 голосов
/ 08 марта 2012

Казалось бы, у меня неправильная установка IE.После комментария Джона Пика я попытался переустановить IE и посмотреть, решит ли это проблему.К сожалению, у меня все еще есть проблемы на моей собственной машине, но так как это работает для любого другого человека, у меня был тест, то я отмечу это как ответ.

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