2013-07-17 35 views
12

Tôi đã cố gắng sử dụng API kéo và thả Javascript.sự kiện ondragstart với jQuery

var file = document.getElementById('file'); 
file.addEventListener('dragstart', function(evt){ 
    evt.dataTransfer.setData("DownloadURL",fileDetails); 
}, false); 

Hoạt động đó và tất cả, nhưng có cách nào để sử dụng jQuery "bật" để bắt sự kiện không? Tôi đã thử

$('#file').on('dragstart', function(evt) { 
    console.log(evt.dataTransfer);     // this returns undefined 
    evt.dataTransfer.data("DownloadURL",fileDetails); // so this produces error 
}); 

Nhưng nó không hoạt động.

Nếu có thể, tôi không muốn sử dụng plugin kéo jQuery, vì tôi thực sự không muốn tìm giải pháp trình duyệt chéo.

Cảm ơn

+2

'evt.originalEvent.dataTransfer' –

+0

cảm ơn! Bạn có thể thêm câu trả lời để tôi có thể đánh dấu câu trả lời của bạn là câu trả lời đúng không? – Henson

Trả lời

20

Bạn phải sử dụng tài sản originalEvent của sự kiện jquery để truy cập các thuộc tính bản địa của người nghe javascript, như thế này:

evt.originalEvent.dataTransfer 
Các vấn đề liên quan