我有个问题。
该代码在 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 永远不会注册。