我在 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),因此请确保测试你的应用程序支持的浏览器。