使用onmousdown事件在Jscrollpane上分配新箭头 - ie7 / 8中的bug

时间:2011-12-13 07:01:08

标签: jquery internet-explorer jscrollpane onmousedown

我使用以下代码为我的jscrollpane分配新箭头。这在所有的浏览器中工作正常,但它在ie7 / 8中有缺陷。可以在http://jsfiddle.net/WzNM4/6/上找到该错误的示例。

如果单击向下按钮,使其保持运行2秒,然后单击向上按钮,文本开始上下跳动。你知道造成这种情况的原因以及如何解决吗?

我知道我的附加代码与jsFiddle中的代码不同,但jsFiddle是由Vitch完成的,我觉得不需要重做它,因为bug也出现在他的版本中。

这只发生在ie7 / 8 ......

提前谢谢。

    $(function () {

        var api = $('.ThmbsCntnr').jScrollPane().data('jsp');


        $('.FinalArrowLeft').bind('mousedown', function () {
                var interval = setInterval(
                    function () {
                        api.scrollByX(-40);
                    },
                    100
                );
                $(window).bind(
                    'mouseup.jspExample',
                    function () {
                        clearInterval(interval);
                        $(document).unbind('.jspExample');
                    }
                );
       });

       $('.FinalArrowRight').bind('mousedown', function () {
                var interval = setInterval(
                    function () {
                        api.scrollByX(40);
                    },
                    100
                );
                $(window).bind(
                    'mouseup.jspExample',
                    function () {
                        clearInterval(interval);
                        $(document).unbind('.jspExample');
                    }
                );
       });




    });

1 个答案:

答案 0 :(得分:0)

发生的事情是mouseup事件永远不会被触发。

在IE7和IE8中绑定mouseup上的window事件不起作用。将其绑定在document上。

演示:http://jsfiddle.net/Guffa/WzNM4/44/