2012-07-05 84 views
3

我在dojo 1.7.2上,並試圖首次使用拖放操作。Dojo 1.7.2拖放bug - 「mouseButtons.isLeft」

在道場/ 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;}本地代碼,這似乎是工作。

dojo似乎有.isLeft的多種實現方式,其中一些實現的方式是==0,其他的做的是&1

問題:我發現了一個bug,還是我在做一些愚蠢的事情?

如果有幫助,我已經在Chrome(版本20.0.1132.47)和Firefox(版本13.0.1)中測試過。

回答

3

您的頁面是否使用了怪異模式?這是怪癖模式的已知問題。

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

您的解決方案可能打破其他瀏覽器(IE),所以請確保您測試您的應用程序支持的瀏覽器。

+0

什麼是怪癖模式?我如何知道我的網頁是否正在使用它? – Harold 2012-07-06 04:12:31

+0

http://stackoverflow.com/questions/627097/how-to-tell-if-a-browser-is-in-quirks-mode – 2012-07-06 10:25:09

+0

感謝您的教訓。我在Chrome和FF中都處於怪異模式。正如在trac票中提到的,.isLeft只是一輛越野車。我感謝你的時間。 – Harold 2012-07-06 16:09:56