Javascript 拖动鼠标右键时,如何平移div的内容?

Javascript 拖动鼠标右键时,如何平移div的内容?,javascript,javascript-events,panning,Javascript,Javascript Events,Panning,我需要一种跨浏览器的方式来捕获鼠标右键单击,防止出现默认的上下文菜单,并使其成为用户拖动鼠标时可以平移div内容的位置。这与Google maps非常相似,因为他们会抓住内容并拖动以查看所需内容 请不要外接图书馆 我已经捕获了事件,并且知道这将阻止默认操作: if (evt.preventDefault) { evt.preventDefault(); } else { evt.returnValue = false; } 但这并不能阻止上下

我需要一种跨浏览器的方式来捕获鼠标右键单击,防止出现默认的上下文菜单,并使其成为用户拖动鼠标时可以平移div内容的位置。这与Google maps非常相似,因为他们会抓住内容并拖动以查看所需内容

请不要外接图书馆

我已经捕获了事件,并且知道这将阻止默认操作:

  if (evt.preventDefault)
 {
        evt.preventDefault();
 }
    else
 {
        evt.returnValue = false;
 }
但这并不能阻止上下文菜单


编辑:我真的不确定如何防止上下文菜单,以及操作滚动条的最佳方式是什么?示例将非常好

这篇关于滚动条视差滚动的教程可能会有些用处


因此,我使用的是oncontextmenu=return false,我知道这可能会被用户偏好所压倒,但对于那些人来说,他们可以使用我应用程序顶部的菜单栏选项


要处理滚动,我只需修改div.scrollLeft和div.scrollTop

@Robert Harvey,例如在Google地图中移动地图时,这称为平移。@Robert Harvey,是的,就像Tatu说的,我希望用户能够按住鼠标右键,并在按住鼠标右键的同时相对于移动的位置导航内容,例如,一个非常大的divWell图像我不需要以不同的速度移动,但这看起来对我问题的第二部分很有帮助。看起来速比只是一个反复试验的问题,直到你发现什么是有效的;我想象的是背景平移,而不是gmaps效果。我会说1:1鼠标移动到div-pan,但是如果div很小,那么更快的平移速度可能对用户更友好。如果用户像Gmap一样抓取内容,那么从用户界面的角度来看,1:1的比例是有意义的,因为它模拟了在桌面上推动内容的物理行为。我检查了,它是抓取的,而不是相对于他们最初点击的固定点,我试图复制。所以1:1是有道理的。我想最简单的方法就是使用ScrollBy?这是跨浏览器吗?