2016-08-08 6 views
0

I-Lösung haben, die funktioniert und sieht wie folgt aus:dragover- Daten-Transfer bei der Verwendung von „on“ Trigger

var dropZones = document.querySelectorAll('.drop-zone'); 

for (var i = 0; i < dropZones.length; i++) { 
    dropZones[i].addEventListener('dragover', function (e) { 
     e.stopPropagation(); 
     e.preventDefault(); 
     e.dataTransfer.dropEffect = 'copy'; 
    }); 
    ... 
} 

Aber ich muss es auslösen mit „on“ -Funktion aufgrund von Ajax neu gezeichnet. Aber es gibt mir „Can not set Eigenschaft‚dropeffect‘undefinierter“

$(document).on('dragover', '.drop-zone', function(e) { 
    e.stopPropagation(); 
    e.preventDefault(); 
    e.dataTransfer.dropEffect = 'copy'; 
}); 

Haben Sie Ideen, warum dies geschieht und wie sollte ich das tun, es zu halten, nachdem Ajax reload zu arbeiten?

Antwort

0

Ich habe Antwort gefunden bei Jquery Documentation. Ich habe originalEvent

Das richtige Ergebnis zu verwenden ist:

$(document).on('dragover', '.drop-zone', function(e) { 
    e.stopPropagation(); 
    e.preventDefault(); 
    e.originalEvent.dataTransfer.dropEffect = 'copy'; 
}); 
Verwandte Themen