2012-09-13 73 views
1

我有一點的JavaScript,可以讓用戶移動使用鼠標的東西,所以用戶可以點擊並拖動東西,這是工作得很好,但我掙扎的是能夠覆蓋用戶點擊事件。Javascript替代用戶鼠標事件

所以我想要做的是,如果用戶將項目移動到某個位置我想停止點擊並按住事件,這將意味着用戶將不得不去往一個重新選擇該項目,然後單擊並再次拖動。

你可以重寫JavaScript的用戶鼠標操作?這似乎很簡單,但我無法找到一種方法在我的JavaScript停止鼠標事件

回答

0

您可以嘗試覆蓋onmousedown來存儲鼠標座標並觸發「真正點擊」事件onmouseup如果鼠標位置沒有改變(或者如果改變小於5像素)。

0
document.getElementById('myElement').addEventListener('click', function(e) { 
    e.preventDefault(); // here is your override 
    doSomethingElse(); // or not 
}); 

同樣的事情,但IE瀏覽器使用attachEvent代替addEventListener

0

也許不是阻塞事件,你可以把一些邏輯的onclick處理程序中檢查這種狀況呢?

例如,也許有幾個屬性來維護狀態。您可以撥打一個itemSelected,該項目必須是true才能移動項目。然後,如果您將itemSelected設置爲false,則需要再次點擊才能再次切換。