IE中$(document).ready()后的jQuery中断



我已经使用jQuery几年了,在我的最新项目之前,实际上没有跨浏览器问题。我在一个Asp.NET网站上工作,该网站自始至终都使用了相当多的jQuery,我遇到了最令人困惑的问题。当使用IE时,仅在回发后或第一次访问网站时(而不是在刷新页面时),jQuery会正确执行.ready方法,但当绑定到事件的任何函数在函数break中触发一些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/并更改几次位置,然后发布发生了什么?

编辑:我没有使用更新面板

我似乎安装了一个错误的IE。在John Pick发表评论后,我试图重新安装IE,看看这是否能解决问题。不幸的是,我自己的机器仍然有问题,但由于它适用于我测试过的任何其他人,所以我会将其标记为已回答。

最新更新