0

我有个问题。

该代码在 Firefox 中运行良好,但在 Chrome 中却一团糟。

代码相当基本。有一个带背景的 div。在 jquery 在该 div 上的 mousedown 上,我设置了一个函数以间隔运行。mouseup 后,间隔被清除。很简单,对吧?

所以问题是这样的。假设用户在 Chrome 中单击鼠标右键并调出上下文菜单。或者他们拖动 div。mouseup 事件不再注册。

有任何想法吗?

我有一个想法,我可以在哪里获得鼠标按钮的状态。但这似乎是不可能在没有鼠标的情况下完成的。

        function mouseD(e){
            mouseE = e;
            timer = setInterval(scroller, 50);
            $(document).mouseup(function(){
                clearInterval(timer);
            });
            //mouseB = e.button;
            //mouseW = e.which;
            //console.log(e.button + " D " + e.which);
        }
imgbox.mousedown(mouseD);

编辑:所以我设法通过禁止此类行为来解决上下文菜单和拖动问题。用户不能再这样做了。但是,如果用户同时单击鼠标右键和左键,则 mouseup 永远不会注册。

4

1 回答 1

0

看看这个网站:它详细介绍了不同浏览器的鼠标事件。 http://unixpapa.com/js/mouse.html

于 2013-03-27T22:15:37.497 回答