Dojo 1.7.2 拖放错误 - "mouseButtons.isLeft"



我在 dojo 1.7.2 上,第一次尝试使用拖放。

在 dojo/dnd/Source.js 中,在函数 _legalMouseDown 中,有这样一行:

// accept only the left mouse button
if(!dojo.mouseButtons.isLeft(e)){ return false; }

滑稽的是,即使我按下鼠标左键,.isLeft也会返回 false。

这完全破坏了拖放功能。

我已经在本地用 if(!e.button==0){return false;} 替换了代码,这似乎正在工作。

道场中似乎有多种.isLeft实现,其中一些正在做==0,另一些正在做&1

问:我发现了错误,还是在做一些愚蠢的事情?

如果有帮助的话,我已经在Chrome(版本20.0.1132.47)和Firefox(版本13.0.1)中进行了测试。

您的页面是否使用怪癖模式? 这是怪癖模式的已知问题。

http://trac.dojotoolkit.org/ticket/15404

你的解决方案可能破坏了其他浏览器 (IE),因此请确保测试你的应用程序支持的浏览器。