All Projects → XboxYan → draggable-polyfill

XboxYan / draggable-polyfill

Licence: MIT license
🌈a beautify polyfill for native drag!

Programming Languages

HTML
75241 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to draggable-polyfill

Formdraggerdemo
一个可在窗体内随意拖动窗体的方案
Stars: ✭ 24 (-51.02%)
Mutual labels:  drag, draggable
vue2-data-tree
A tree that data is lazy loaded. Support dragging node, checking node, editing node's name and selecting node.
Stars: ✭ 41 (-16.33%)
Mutual labels:  drag, draggable
Gridstrap.js
gridstrap.js is a jQuery plugin designed to take Bootstrap's CSS grid system and turn it into a managed draggable and resizeable grid while truely maintaining its responsive behaviour.
Stars: ✭ 32 (-34.69%)
Mutual labels:  drag, draggable
Vue Draggable Resizable Gorkys
Vue 用于可调整大小和可拖动元素的组件并支持冲突检测、元素吸附、元素对齐、辅助线
Stars: ✭ 521 (+963.27%)
Mutual labels:  drag, draggable
Ngx Smooth Dnd
angular wrapper for smooth-dnd
Stars: ✭ 152 (+210.2%)
Mutual labels:  drag, draggable
Sortable
Reorderable drag-and-drop lists for modern browsers and touch devices. No jQuery or framework required.
Stars: ✭ 23,641 (+48146.94%)
Mutual labels:  drag, draggable
Vue Smooth Dnd
Vue wrapper components for smooth-dnd
Stars: ✭ 1,121 (+2187.76%)
Mutual labels:  drag, draggable
Plain Draggable
The simple and high performance library to allow HTML/SVG element to be dragged.
Stars: ✭ 362 (+638.78%)
Mutual labels:  drag, draggable
Luy Dragger
dragger with a render props
Stars: ✭ 135 (+175.51%)
Mutual labels:  drag, draggable
React Dragline
🐼Guide lines and magnetic adsorption to better align draggable elements in React.
Stars: ✭ 134 (+173.47%)
Mutual labels:  drag, draggable
Svelte Grid
A responsive, draggable and resizable grid layout, for Svelte.
Stars: ✭ 473 (+865.31%)
Mutual labels:  drag, draggable
React Rnd
🖱 A resizable and draggable component for React.
Stars: ✭ 2,560 (+5124.49%)
Mutual labels:  drag, draggable
Smooth Dnd
drag and drop library for javascript
Stars: ✭ 408 (+732.65%)
Mutual labels:  drag, draggable
Scrollbooster
Enjoyable content drag-to-scroll library
Stars: ✭ 775 (+1481.63%)
Mutual labels:  drag, draggable
Ngx Sortablejs
Angular 2+ binding to SortableJS. Previously known as angular-sortablejs
Stars: ✭ 397 (+710.2%)
Mutual labels:  drag, draggable
Vue Drag Resize
Vue Component for resize and drag elements
Stars: ✭ 1,007 (+1955.1%)
Mutual labels:  drag, draggable
vue-sortable-tree
vue tree draggable, drag item sort
Stars: ✭ 87 (+77.55%)
Mutual labels:  drag, draggable
Dnd Kit
A modern, lightweight, performant, accessible and extensible drag & drop toolkit for React.
Stars: ✭ 3,456 (+6953.06%)
Mutual labels:  drag, draggable
React Smooth Dnd
react wrapper components for smooth-dnd
Stars: ✭ 1,560 (+3083.67%)
Mutual labels:  drag, draggable
Vue3 Draggable Resizable
[Vue3 组件] 用于拖拽调整位置和大小的的组件,同时支持冲突检测,元素吸附对齐,实时参考线。
Stars: ✭ 159 (+224.49%)
Mutual labels:  drag, draggable

draggable-polyfill

🌈a beautify polyfill for html5 native drag!

Feature

Remove translucent preview!

  • light and beautiful
  • native and no dependence
  • progressive enhancement and no side effects
  • cross framework

Example

native drag with draggable-polyfill

How to use

Import the library code

<script src="./lib/draggable-polyfill.js"></script>
npm install draggable-polyfill

then these native draggable elements( [draggable=true],img ) will becoming beautiful

[allowdrop]elements will receive drag event data.

<div draggable="true">drag me</div>
<img src="./avator" alt="avator">
<!--dropbox-->
<div allowdrop></div>

you can use HTML Drag and Drop API

//draggable
draggable.addEventListener('dragstart',()=>{})
draggable.addEventListener('drag',()=>{})
draggable.addEventListener('dragend',()=>{})
//allowdrop
allowdrop.addEventListener('dragover',()=>{})
allowdrop.addEventListener('dragenter',()=>{})
allowdrop.addEventListener('dragleave',()=>{})
allowdrop.addEventListener('drop',()=>{})

How to Custom Style

draggable elements will add props dragging and dropbox will add props over under dragging, so you can custom style through CSS

<!--your draggable element-->
<div class="dragbox" draggable="true">drag me</div>
<!--your allowdrop element-->
<div class="dropbox" allowdrop></div>
/**custom styles**/
.dragbox[dragging]{
    box-shadow: 5px 5px 15px rgba(0, 0, 0, .2);
}
.dropbox[over]{
    border-color: red;
}

Other Feature

you can set axis=X|Y to limit drag direction or press shift key when dragging.

<div axis="X" draggable="true">drag me</div>

Browser Supports

  • Chrome
  • Firefox
  • Safari

Note:This polyfill works on Chrome and Firefox, not for IE( IE is not supports setDragImage ), it will keep default effect.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].