【发布时间】:2013-03-28 06:34:51
【问题描述】:
我有问题。
该代码在 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 永远不会注册。
【问题讨论】:
-
你应该发布你的代码,这样我们就可以看到你做错了什么。
标签: javascript jquery