2016-08-25 152 views
1

我有一個拖動事件在Chrome/Safari瀏覽器/火狐/歌劇正常工作,但在微軟邊緣和IE瀏覽器中運行時,我收到以下錯誤:微軟邊緣(和IE)拖動事件(JavaScript的)

SCRIPT438:對象不支持屬性或方法「setDragImage」

這裏是我的代碼

function sDrag(e){ 
      e.dataTransfer.setData('Text', e.target.getAttribute("value")); 
      var sample = e.target.getAttribute("sample"); 
      var imgTemp = document.createElement("img"); 
      imgTemp.src = "image.png"; 
      e.dataTransfer.setDragImage(imgTemp, 0, 0); 
     } 

回答

1

.setDragImage()在IE11不支持,僅在邊緣部分。

您也可能在IE11中遇到.setData().getData()問題。

http://caniuse.com/#feat=dragndrop

+0

嗨,希利,你能指出你的意思嗎?我試圖在邊緣設置拖動圖像,但我得到的方法不支持相同的錯誤。 – AshD

+0

我的意思是DataTransfer API的setDragImage方法在微軟瀏覽器中完全不起作用。如果你需要它的工作,你可以自己用一些CSS編碼類似的視覺效果。或者你可以使用像https://github.com/MihaiValentin/setDragImage-IE/blob/master/setdragimage-ie.js或類似的jquery擴展像http://stackoverflow.com/questions/12766103/中所示的polyfill HTML5拖拽和拖放事件和-setdragimage瀏覽器支持 – Shilly