To działa:Bind natywnej obsługi HTML5 dragstart wydarzenie i dostęp DataTransfer użyciu jQuery
$(".my_dragging_class").each(makeDraggable($(this).get()[0]));
var makeDraggable = function (el){
el.draggable = 'true';
el.addEventListener('dragstart', function(e){
e.dataTransfer.effectAllowed = 'move';
e.dataTransfer.setData('text/html', 'test');
console.log('dragstart');
},
false);
}
to nie działa: Komunikat
$(".my_dragging_class").makeDraggable();
$.fn.makeDraggable(){
$(this).attr('draggable','true');
$(this).bind('dragstart', function(e){
e.dataTransfer.effectAllowed = 'move';
e.dataTransfer.setData('text/html', 'test');
console.log('dragstart');
},
false);
}
Błąd: otrzymam "e.dataTransfer jest niezdefiniowany" dla linii e.dataTransfer.effectAllowed = 'move';
. Moja przeglądarka to FireFox 10.0.2
Czy w ten sposób można użyć funkcji dataTransfer z jQuery?
Jak kompatybilny jest ta metoda? Wszystko co zrobiłeś, to dopisać "originalEvent", prawda? Dzięki. – tundoopani
@tundoopani [ta kompatybilna] (http://caniuse.com/#search=drag%20and%20drop) – robertc
Jestem bardzo nowa w jQuery, ale gdy dodasz fałsz na końcu funkcji wiązania, uniemożliwi mi to włóka. Usunięcie fałszu i wszystkich prac zgodnie z oczekiwaniami. –