dragndrop.json 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  1. {
  2. "title":"Drag and Drop",
  3. "description":"Method of easily dragging and dropping elements on a page, requiring minimal JavaScript.",
  4. "spec":"https://html.spec.whatwg.org/multipage/interaction.html#dnd",
  5. "status":"ls",
  6. "links":[
  7. {
  8. "url":"http://html5doctor.com/native-drag-and-drop/",
  9. "title":"HTML5 Doctor article"
  10. },
  11. {
  12. "url":"http://nettutsplus.s3.amazonaws.com/64_html5dragdrop/demo/index.html",
  13. "title":"Shopping cart demo"
  14. },
  15. {
  16. "url":"http://html5demos.com/drag",
  17. "title":"Demo with link blocks"
  18. },
  19. {
  20. "url":"https://www.webplatform.org/docs/dom/DragEvent",
  21. "title":"WebPlatform Docs"
  22. },
  23. {
  24. "url":"https://github.com/MihaiValentin/setDragImage-IE",
  25. "title":"Polyfill for setDragImage in IE"
  26. },
  27. {
  28. "url":"http://blog.teamtreehouse.com/implementing-native-drag-and-drop",
  29. "title":"Implementing Native Drag and Drop"
  30. },
  31. {
  32. "url":"https://github.com/timruffles/ios-html5-drag-drop-shim",
  33. "title":"iOS/Android shim for HTML 5 drag'n'drop"
  34. },
  35. {
  36. "url":"https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/6542268-setdragimage-on-datatransfer-of-dragevent",
  37. "title":"Microsoft Edge setDragImage feature request on UserVoice"
  38. }
  39. ],
  40. "bugs":[
  41. {
  42. "description":"In Chrome, DataTransfer.addElement is not implemented. There is no other way to implement a draggable object, that updates during the drag due to some other circumstances (e.g. changes color on a valid drop spot), as it is just a static image if addElement is not supported.\r\n"
  43. },
  44. {
  45. "description":"In Firefox, the dragstart event does not fire on button elements. This effectively disables drag and drop for button elements.\r\n"
  46. },
  47. {
  48. "description":"In IE9-10 draggable attribute could be effectively applied for link and image elements. For div and span elements you should call 'element.dragDrop()' to start drag event.\r\n"
  49. },
  50. {
  51. "description":"In Safari 8, after setting `event.dataTransfer.dropEffect`, the value in the `drop` event is always `'none'`"
  52. },
  53. {
  54. "description":"Safari doesn't implement the `DragEvent` interface. It adds a `dataTransfer` property to `MouseEvent` instead. See [WebKit bug #103423](https://bugs.webkit.org/show_bug.cgi?id=103423)."
  55. },
  56. {
  57. "description":"Chrome strips out newlines from `text/uri-list` [see bug](https://code.google.com/p/chromium/issues/detail?id=239745)"
  58. },
  59. {
  60. "description":"Reportedly, using \"text/plain\" as the format for `event.dataTransfer.setData` and `event.dataTransfer.getData` does not work in IE9-11 and causes a JS error. The format needs to be \"text\", which seems to work in all the mainstream browsers (Chrome, Safari, Firefox, IE9-11, Edge)."
  61. },
  62. {
  63. "description":"In Firefox, an element won't drag unless the `dragstart` handler sets `dataTransfer` data (even if it doesn't get retrieved). [Test case](https://codepen.io/michai/pen/NwORqO)"
  64. },
  65. {
  66. "description":"In Firefox, drag and drop does not work when the page is served as `application/xhtml+xml` [Mozilla Bug #751778](https://bugzilla.mozilla.org/show_bug.cgi?id=751778), [Mozilla Bug #1106160](https://bugzilla.mozilla.org/show_bug.cgi?id=1106160)"
  67. }
  68. ],
  69. "categories":[
  70. "HTML5"
  71. ],
  72. "stats":{
  73. "ie":{
  74. "5.5":"a #1 #3",
  75. "6":"a #1 #3",
  76. "7":"a #1 #3",
  77. "8":"a #1 #3",
  78. "9":"a #1 #3",
  79. "10":"a #2 #3",
  80. "11":"a #2 #3"
  81. },
  82. "edge":{
  83. "12":"a #2",
  84. "13":"a #2",
  85. "14":"a #2",
  86. "15":"a #2",
  87. "16":"a #2",
  88. "17":"a #2",
  89. "18":"y"
  90. },
  91. "firefox":{
  92. "2":"p",
  93. "3":"p",
  94. "3.5":"y",
  95. "3.6":"y",
  96. "4":"y",
  97. "5":"y",
  98. "6":"y",
  99. "7":"y",
  100. "8":"y",
  101. "9":"y",
  102. "10":"y",
  103. "11":"y",
  104. "12":"y",
  105. "13":"y",
  106. "14":"y",
  107. "15":"y",
  108. "16":"y",
  109. "17":"y",
  110. "18":"y",
  111. "19":"y",
  112. "20":"y",
  113. "21":"y",
  114. "22":"y",
  115. "23":"y",
  116. "24":"y",
  117. "25":"y",
  118. "26":"y",
  119. "27":"y",
  120. "28":"y",
  121. "29":"y",
  122. "30":"y",
  123. "31":"y",
  124. "32":"y",
  125. "33":"y",
  126. "34":"y",
  127. "35":"y",
  128. "36":"y",
  129. "37":"y",
  130. "38":"y",
  131. "39":"y",
  132. "40":"y",
  133. "41":"y",
  134. "42":"y",
  135. "43":"y",
  136. "44":"y",
  137. "45":"y",
  138. "46":"y",
  139. "47":"y",
  140. "48":"y",
  141. "49":"y",
  142. "50":"y",
  143. "51":"y",
  144. "52":"y",
  145. "53":"y",
  146. "54":"y",
  147. "55":"y",
  148. "56":"y",
  149. "57":"y",
  150. "58":"y",
  151. "59":"y",
  152. "60":"y",
  153. "61":"y",
  154. "62":"y",
  155. "63":"y",
  156. "64":"y",
  157. "65":"y",
  158. "66":"y",
  159. "67":"y",
  160. "68":"y"
  161. },
  162. "chrome":{
  163. "4":"y",
  164. "5":"y",
  165. "6":"y",
  166. "7":"y",
  167. "8":"y",
  168. "9":"y",
  169. "10":"y",
  170. "11":"y",
  171. "12":"y",
  172. "13":"y",
  173. "14":"y",
  174. "15":"y",
  175. "16":"y",
  176. "17":"y",
  177. "18":"y",
  178. "19":"y",
  179. "20":"y",
  180. "21":"y",
  181. "22":"y",
  182. "23":"y",
  183. "24":"y",
  184. "25":"y",
  185. "26":"y",
  186. "27":"y",
  187. "28":"y",
  188. "29":"y",
  189. "30":"y",
  190. "31":"y",
  191. "32":"y",
  192. "33":"y",
  193. "34":"y",
  194. "35":"y",
  195. "36":"y",
  196. "37":"y",
  197. "38":"y",
  198. "39":"y",
  199. "40":"y",
  200. "41":"y",
  201. "42":"y",
  202. "43":"y",
  203. "44":"y",
  204. "45":"y",
  205. "46":"y",
  206. "47":"y",
  207. "48":"y",
  208. "49":"y",
  209. "50":"y",
  210. "51":"y",
  211. "52":"y",
  212. "53":"y",
  213. "54":"y",
  214. "55":"y",
  215. "56":"y",
  216. "57":"y",
  217. "58":"y",
  218. "59":"y",
  219. "60":"y",
  220. "61":"y",
  221. "62":"y",
  222. "63":"y",
  223. "64":"y",
  224. "65":"y",
  225. "66":"y",
  226. "67":"y",
  227. "68":"y",
  228. "69":"y",
  229. "70":"y",
  230. "71":"y",
  231. "72":"y",
  232. "73":"y",
  233. "74":"y",
  234. "75":"y",
  235. "76":"y"
  236. },
  237. "safari":{
  238. "3.1":"y",
  239. "3.2":"y",
  240. "4":"y",
  241. "5":"y",
  242. "5.1":"y",
  243. "6":"y",
  244. "6.1":"y",
  245. "7":"y",
  246. "7.1":"y",
  247. "8":"y",
  248. "9":"y",
  249. "9.1":"y",
  250. "10":"y",
  251. "10.1":"y",
  252. "11":"y",
  253. "11.1":"y",
  254. "12":"y",
  255. "12.1":"y",
  256. "TP":"y"
  257. },
  258. "opera":{
  259. "9":"p",
  260. "9.5-9.6":"p",
  261. "10.0-10.1":"p",
  262. "10.5":"p",
  263. "10.6":"p",
  264. "11":"p",
  265. "11.1":"p",
  266. "11.5":"p",
  267. "11.6":"p",
  268. "12":"y",
  269. "12.1":"y",
  270. "15":"y",
  271. "16":"y",
  272. "17":"y",
  273. "18":"y",
  274. "19":"y",
  275. "20":"y",
  276. "21":"y",
  277. "22":"y",
  278. "23":"y",
  279. "24":"y",
  280. "25":"y",
  281. "26":"y",
  282. "27":"y",
  283. "28":"y",
  284. "29":"y",
  285. "30":"y",
  286. "31":"y",
  287. "32":"y",
  288. "33":"y",
  289. "34":"y",
  290. "35":"y",
  291. "36":"y",
  292. "37":"y",
  293. "38":"y",
  294. "39":"y",
  295. "40":"y",
  296. "41":"y",
  297. "42":"y",
  298. "43":"y",
  299. "44":"y",
  300. "45":"y",
  301. "46":"y",
  302. "47":"y",
  303. "48":"y",
  304. "49":"y",
  305. "50":"y",
  306. "51":"y",
  307. "52":"y",
  308. "53":"y",
  309. "54":"y",
  310. "55":"y",
  311. "56":"y",
  312. "57":"y",
  313. "58":"y"
  314. },
  315. "ios_saf":{
  316. "3.2":"n",
  317. "4.0-4.1":"n",
  318. "4.2-4.3":"n",
  319. "5.0-5.1":"n",
  320. "6.0-6.1":"n",
  321. "7.0-7.1":"n",
  322. "8":"n",
  323. "8.1-8.4":"n",
  324. "9.0-9.2":"n",
  325. "9.3":"n",
  326. "10.0-10.2":"n",
  327. "10.3":"n",
  328. "11.0-11.2":"y",
  329. "11.3-11.4":"y",
  330. "12.0-12.1":"y",
  331. "12.2":"y"
  332. },
  333. "op_mini":{
  334. "all":"n"
  335. },
  336. "android":{
  337. "2.1":"n",
  338. "2.2":"n",
  339. "2.3":"n",
  340. "3":"n",
  341. "4":"n",
  342. "4.1":"n",
  343. "4.2-4.3":"n",
  344. "4.4":"n",
  345. "4.4.3-4.4.4":"n",
  346. "67":"n"
  347. },
  348. "bb":{
  349. "7":"n",
  350. "10":"n"
  351. },
  352. "op_mob":{
  353. "10":"p",
  354. "11":"p",
  355. "11.1":"p",
  356. "11.5":"p",
  357. "12":"p",
  358. "12.1":"y",
  359. "46":"n"
  360. },
  361. "and_chr":{
  362. "71":"n"
  363. },
  364. "and_ff":{
  365. "64":"n"
  366. },
  367. "ie_mob":{
  368. "10":"y",
  369. "11":"y"
  370. },
  371. "and_uc":{
  372. "11.8":"n"
  373. },
  374. "samsung":{
  375. "4":"n",
  376. "5.0-5.4":"n",
  377. "6.2-6.4":"n",
  378. "7.2-7.4":"n",
  379. "8.2":"n"
  380. },
  381. "and_qq":{
  382. "1.2":"n"
  383. },
  384. "baidu":{
  385. "7.12":"n"
  386. }
  387. },
  388. "notes":"`dataTransfer.items` only supported by Chrome.\r\n\r\nCurrently no browser supports the `dropzone` attribute.\r\n\r\nFirefox supports any kind of DOM elements for `.setDragImage`. Chrome must have either an `HTMLImageElement` or any kind of DOM elements attached to the DOM and within the viewport of the browser for `.setDragImage`.",
  389. "notes_by_num":{
  390. "1":"Partial support refers to no support for the `dataTransfer.files` or `.types` objects",
  391. "2":"Partial support refers to not supporting `.setDragImage`",
  392. "3":"Partial support refers to limited supported formats for `dataTransfer.setData`/`getData`."
  393. },
  394. "usage_perc_y":49.09,
  395. "usage_perc_a":4.46,
  396. "ucprefix":false,
  397. "parent":"",
  398. "keywords":"draganddrop, draggable",
  399. "ie_id":"",
  400. "chrome_id":"",
  401. "firefox_id":"",
  402. "webkit_id":"",
  403. "shown":true
  404. }