Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jquery html 5 dragstart .on('dragstart',function(e){}) e.dataTransfer.setData() doesn't work

chrome throw err: Cannot call method 'setData' of undefined, I find the e is not equal to window.event(it havn't propert dataTransfer);both has very big different

I find both almost equal in the click event.

I used http://code.jquery.com/jquery-latest.js.

I don't use drag feature,I just want know why. it is new feature in html 5,jquery still behind of it ?. or jquery team don't want support it?? or some other reason

like image 819
zsytssk Avatar asked Dec 19 '12 09:12

zsytssk


1 Answers

In the callback function you get a jQuery wrapper over a native event. Use the originalEvent property of passed argument:

$('...').on('dragstart', function (event) {     event.originalEvent.dataTransfer.setData('...', '...'); }); 

P.S. dont' forget to set the draggable="true" attribute for the element to be dragged.

like image 72
John Doe Avatar answered Sep 28 '22 08:09

John Doe