2013-03-13 55 views
2

我試圖阻止在Dart中拖動的默認光標風格。在onDragStart方法,我設置光標風格「移動」,然後恢復到默認onDragEnd:如何防止Dart中的默認光標風格,Dartium

onDragStart(e) { 
    prevCursor = placeholder.style.cursor;  
    placeholder.style.cursor = 'move'; 
} 

onDragEnd(e) { 
    placeholder.style.cursor = prevCursor; 
} 

當拖動光標仍默認爲「不被允許」風格。我已經嘗試了許多方法來防止這種情況,如防止在onDragStart方法,該方法被推薦爲JavaScript的鉻修復的默認焦點的時候,但在DART不起作用:

document.onSelectStart.listen((e) { 
    e.preventDefault(); 
    return false; 
}); 

我也曾嘗試在CSS中設置默認值,這不是我想如何完成這個,但它仍然不起作用:

a:drag { 
cursor:move; 
} 

有什麼建議嗎?

+0

請記住,Dart如何處理Web應用程序的遊標 - 或基本上其他任何東西 - 沒有什麼特別之處。您可能想要在Google的常規「CSS/Javascript」網站上搜索解決此問題的解決方案。將找到的解決方案映射到您的Dart代碼應該很容易。 – 2013-03-28 14:16:40

回答

0

嗯...只是一個猜測,但也許嘗試看看,如果也許你需要也處理onDragEnter?

0

放置目標將光標圖標設置爲「不允許」,如果其處理程序取消了拖動輸入事件等。
寫入放置區的處理程序是最簡單的解決方案。

爲了規避這個問題,鼠標按下事件,鼠標移動事件等,可以捕獲和使用像我一樣在這裏移動的元素:Moving elements by dragging in Dart

這傢伙更詳細地解釋了相關的問題:http://mereskin.github.io/dnd/

排序無關,但有些瀏覽器只使用拖動元素時默認的光標圖標可用,並且無法更改該默認設置。