2016-09-02 22 views
6

IE/Edge svg elemanları sürükleme sprite göstermek için bir yolu var mı?Drag sprite

Örnek: Bu seferki sorunsuz sürüklenebilir

Bu seferki

<img draggable="true" src="file.svg" /> 

Demo sürükleme sprite göstermiyor

<img draggable="true" src="file.jpg" /> 

: http://codepen.io/akotb/pen/WGNOXv

Ayrıca eğer sürüklediğin div ise işe yaramaz g ancak aynı zamanda okumak tavsiye

<div draggable="true"> <svg><use xlink:href="#circle" /></svg></div> 

de o örnekle demo

+0

ilk div sorunu nedir ... çalışıyor? svg görüntü IE'deki bu kontrol ettin sürüklenen elemanın – Knostradamus

+0

, bütün varlıkları SVG lezyonu olan., o da çalışmıyor? Gerçekten çalışmıyor Çünkü ... –

cevap

1

Sana SVG işleri yapan bir tavsiye veriyorum güncellenen svg sembollerini kullanmak doğrudan (veya dolaylı) çocuğu var yanı belgeleri aşağıdadır:

en bu varsayalım bu CSS stilleri

olan HTML parçası

<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div> 

<img id="drag1" src="http://demosthenes.info/assets/images/thumbnails/homer-simpson.svg" draggable="true" 
ondragstart="drag(event)" width="336" height="69"> 

olduğunu

:

img { 
    width: 150px; 
    height: 150px; 
} 

#div1, #div2 { 
    float: left; 
    width: 100px; 
    height: 35px; 
    margin: 10px; 
    padding: 10px; 
    border: 1px solid black; 
} 

biz bu http://codepen.io/mhadaily/pen/QKjgAo

Daha belgeleri yapabilirsiniz yanı çapraz tarayıcı uyumluluğu birlikte

function allowDrop(ev) { 
    ev.preventDefault(); 
} 

function drag(ev) { 
    ev.dataTransfer.setData("text", ev.target.id); 
} 

function drop(ev) { 
    ev.preventDefault(); 
    var data = ev.dataTransfer.getData("text"); 
    ev.target.appendChild(document.getElementById(data)); 
} 

için işlemek için biraz daha kolay yapar bazı JavaScript kodu ekleyebilirsiniz 1- Cross Browser HTML5 Drag and Drop

2- Using HTML5’s Native Drag and Drop API

3- HTML 5 drag and drop API

Güncelleme: IE sürüklenebilir ben IE8 + çalışır ve aynı zamanda dokunmatik ekranlar başka çözüm ile bu yayını güncellemenizi SVG ile işe gitmek için biraz zor olduğundan

. Yardımcı olabilecek ışık kitaplıklarından biri interact.js. Bu çözüm https://jsfiddle.net/mhadaily/pkewdttr/ ve bunu IE8 + çalışır ve diğer tarayıcılar çok düzgün görebilirsiniz. Lütfen daha fazla dokümantasyon için interactjs.io web sitesini kontrol edin.

Bana sormak lütfen daha fazla yardım gerekiyorsa. svg geçmişi olan

+1

bir çocuk ise ben SVG açıklığı ile çalışmak yapmak gerekir – Dekel

+0

Evet test, mükemmel çalışıyor, Kenar: https: //s14.postimg.io/9ptpz5ttt/Screen_Shot_2016_09_11_at_1_02_38_AM.jpg ve IE11: https://s14.postimg.io/gubj87135/Screen_Shot_2016_09_11_at_1_02_52_AM .jpg Yukarıdaki resimlerde gördüğünüz gibi, SVG görüntüsü orada sürüklediğim kutunun içinde. – Majid

+1

Bu, IE 11'de çalışmaz (veya soruyu anlamadınız. Tekrar kontrol edin). – Dekel