2013-04-23 82 views
0

我遇到了一個問題,可能是Chrome中的一個漏洞,但我希望一些經驗豐富的開發人員可以看看這個問題。我使用的是由youngpup製作的dom-drag JavaScript庫(https://github.com/aboodman/dom-drag/blob/gh-pages/dom-drag.js),並注意到它在Chrome中無法正常運行。錯誤發生在第86行。Chrome:潛在onmousemove錯誤

由於某些原因,即使鼠標未移動,Chrome仍在註冊document.onmousemove事件。我已經在其他所有瀏覽器上嘗試過,而Chrome是唯一一個導致用戶單擊時觸發事件的人。這會被視爲一個錯誤,如果是這樣,任何人都可以推薦一種解決方法來解決這個問題?

+1

https://code.google.com/p/chromium/issues/detail?id=170631 – PlantTheIdea 2013-04-23 18:20:20

+0

感謝您的快速響應!看起來這會導致我不少頭痛。 – 2013-04-23 18:30:38

回答

0

我在使用drag.js,而且我面臨同樣的問題。我可以從PlantTheldea在2年前給出的鏈接中看到,鉻沒有修復它。 在我身邊,我的DOM中有可拖動的項目,應該接受點擊事件處理程序。但是,如果鼠標未移動,則在點擊事件期間觸發了onmousemove事件。這個錯誤發生在Chrome上。

所以我想其他人可能會面臨同樣的問題。下面是我如何與drag.js解決它:

1 - 轉到您的OnMouseMove處理程序

2 - 檢查是否有X或Y運動。如果有任何動靜,那麼你返回true。

例與drag.js的處理程序,我編輯:

// onmousemove handler for the document level 
// activated after left mouse button is pressed on draggable element 
handler_onmousemove = function (e) { 
     if(e.movementX === 0 && e.movementY == 0){ 
      // No movement detected 
      return true; // We can continue with other handlers as click 
     } 

希望它可以幫助。