Jquery IE9简单单击/滚动问题

Jquery IE9简单单击/滚动问题,jquery,windows,internet-explorer,internet-explorer-9,Jquery,Windows,Internet Explorer,Internet Explorer 9,就我个人而言,我没有遇到这个问题(Windows7与本机IE9),但另一台计算机是。可能是Windows7,但肯定是IE9。最初,滚动按钮在其机器上不工作。如果他们将文档和浏览器渲染器更改为IE8或IE7,则可以正常工作。如果他们把它改回IE9,它就会工作。如果他们关闭了选项卡,并重新打开它,它将不再工作。他们的控制台日志是空的,除了jQuery1.4中的一个语法错误,它出现在所有浏览器中,我认为是良性的 所以我的问题是,谁能复制这个问题,或者找到发生这种情况的原因?代码和链接如下: $(函

就我个人而言,我没有遇到这个问题(Windows7与本机IE9),但另一台计算机是。可能是Windows7,但肯定是IE9。最初,滚动按钮在其机器上不工作。如果他们将文档和浏览器渲染器更改为IE8或IE7,则可以正常工作。如果他们把它改回IE9,它就会工作。如果他们关闭了选项卡,并重新打开它,它将不再工作。他们的控制台日志是空的,除了jQuery1.4中的一个语法错误,它出现在所有浏览器中,我认为是良性的

所以我的问题是,谁能复制这个问题,或者找到发生这种情况的原因?代码和链接如下:


$(函数(){
var ele=$(“#滚动条”);
变量速度=25,滚动=5,滚动;
$(“#向上滚动”)。单击(函数(){
//控制台。登录(“Up”);
//向上滚动元素
var topPos=$('#scroller').scrollTop();
控制台日志(topPos);
$(“#滚动条”)。设置动画({
scrollTop:topPos-200
}, 800);
});
$(“#向下滚动”)。单击(函数(){
//控制台。登录(“关闭”);
//向下滚动元素
var topPos=$('#scroller').scrollTop();
控制台日志(topPos);
$(“#滚动条”)。设置动画({
scrollTop:topPos+200
}, 800);
});
$(“#向上滚动,#向下滚动”).bind({
点击:功能(e){
//阻止默认的单击操作
e、 预防默认值();
},
mouseleave:function(){
如果(滚动){
清除间隔(滚动);
滚动=假;
}
}
});
});


您应该尝试删除(或注释掉)代码中的任何console.log()引用


如果没有开发工具,开放式IE将抛出一个合适的控制台不存在。在开发人员工具打开时,控制台确实存在,因此不会抛出错误。我曾经花了很长时间试图调试一个类似的问题:)

要解决这个“深”错误,只需去掉选择器中的
@
[@href*=concentral]
+1您可以使用这个:真棒。谢谢你们两位。是因为只有IE会导致错误,还是其他浏览器会因为这是合乎逻辑的事情而抑制它们?只是好奇而已。我构建了一个小包装器来检查控制台是否存在,如果不存在,它会将调试消息添加到一个内部队列中。我总是这样说只是为了确保,这样你就不必删除代码,即使用户没有打开开发工具,你也可以得到调试消息,只需构建一个小的environment reporter,或者在电话/电子邮件上告诉他们如何发送调试消息:)
<div style="float:left; padding:0; width:20px !important; height:310px !important; text-align:left;">
    <div id="scroll_up" style="cursor:pointer;"><img style="margin:10px 0 270px 0;" src="images/arrow_up.png" /></div>
    <div id="scroll_down" style="cursor:pointer;"><img src="images/arrow_down.png" /></div>
</div>

$(function() {
    var ele   = $('#scroller');
    var speed = 25, scroll = 5, scrolling;

    $('#scroll_up').click(function() {
        //console.log("Up");
        // Scroll the element up

        var topPos = $('#scroller').scrollTop();
        console.log(topPos);    
        $("#scroller").animate({
            scrollTop: topPos - 200
        }, 800);
    });

    $('#scroll_down').click(function() {
        //console.log("Down");
        // Scroll the element down

        var topPos = $('#scroller').scrollTop();
        console.log(topPos);    
        $("#scroller").animate({
            scrollTop: topPos + 200
        }, 800);
    });

    $('#scroll_up, #scroll_down').bind({
        click: function(e) {
            // Prevent the default click action
            e.preventDefault();
        },
        mouseleave: function() {
            if (scrolling) {
                window.clearInterval(scrolling);
                scrolling = false;
            }
        }
    });
});