này đang làm việc:Bind mẹ đẻ html5 dragstart xử lý sự kiện và truy cập dataTransfer sử dụng 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);
}
này là không làm việc: Thông điệp
$(".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);
}
Lỗi: tôi nhận được một 'e.dataTransfer không được xác định' cho dòng e.dataTransfer.effectAllowed = 'move';
. Trình duyệt của tôi là FireFox 10.0.2
Có thể sử dụng dataTransfer với jQuery theo cách này không?
Làm thế nào tương thích là phương pháp này? Tất cả những gì bạn đã làm là nối thêm "originalEvent", phải không? Cảm ơn. – tundoopani
@tundoopani [Tương thích này] (http://caniuse.com/#search=drag%20and%20drop) – robertc
Tôi rất mới đối với jQuery, nhưng khi bạn thêm sai ở cuối hàm liên kết, nó sẽ ngăn tôi khỏi kéo. Loại bỏ sai và tất cả các công trình như mong đợi. –