2013-03-08 49 views
4

實際上,我嘗試使用HTML5拖放API的dragover操作時使用自定義光標,但當dragover事件觸發時,我無法重寫默認光標。下面是我如何努力去實現它的代碼,HTML 5拖放 - 使用自定義光標

$("#myDiv").live('mousedown', function(ev) { 
    $(this).css("cursor", "url(res/customCursor.cur), default !important"); 
}); 

由於老鼠將被按下時dragover事件正在發生的事情,我試圖改變光標拖放目標的mousedown事件。我也嘗試在dragover事件的事件處理程序中更改光標,但即使這樣也行不通。

+2

'!important'在樣式表或內聯樣式(IE6除外)中可以正常工作,但在JavaScript或jQuery中設置樣式時不能。在這種情況下,使用'!important'的樣式不適用於Firefox,Chrome和IE8或更早版本。 – 2013-03-08 21:51:27

+1

爲什麼不創建一個類,並使用jQuery中的addClass方法將其應用於拖動的元素? – Valentin 2013-03-08 22:06:32

回答

1

在樣式表中定義(<風格>元素或.css文件)創建像

.dragAndDropInProgress { 
    cursor: url(....), default !important; 
} 

,然後當你的信號ondragstart,附上類文檔主體的一類,確保將其刪除再一次你看到了這一點。

+2

雖然這解決了僅在樣式表中工作的重要問題,但它並不能解決OP的原始問題,即重寫拖放遊標,這似乎優先於CSS樣式。 – 2014-08-08 17:34:56