├── .tags ├── .tags1 ├── README.md ├── drag-by-javascript ├── app.js └── index.html ├── drag-by-jquery-plugin ├── app.js ├── index.html └── jquery-2.0.3.js ├── drag-by-jquery ├── app.js ├── index.html └── jquery-2.0.3.js ├── drag-by-jsoop ├── app.js └── index.html └── drag-by-react ├── app.js └── index.html /.tags: -------------------------------------------------------------------------------- 1 | html /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/index.html /^$/;" function line:2 2 | head /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/index.html /^$/;" function line:4 3 | meta /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/index.html /^ $/;" function line:5 4 | meta /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/index.html /^ $/;" function line:6 5 | title /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/index.html /^ 使用JavaScript实现拖拽<\/title>$/;" function line:7 6 | style /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/index.html /^ <style>$/;" function line:8 7 | body /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/index.html /^<body>$/;" function line:27 8 | div /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/index.html /^ <div id="target">JS<\/div>$/;" function line:28 9 | script /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/index.html /^ <script src=".\/app.js"><\/script>$/;" function line:29 10 | oTarget /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^var oTarget = document.getElementById('target');$/;" variable line:5 11 | startX /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^var startX = 0; \/\/ 鼠标点 x 坐标的初始值$/;" variable line:7 12 | startY /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^var startY = 0; \/\/ 鼠标点 y 坐标的初始值$/;" variable line:8 13 | targetSourceX /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^var targetSourceX = 0; \/\/ 目标元素初始 x 坐标$/;" variable line:10 14 | targetSourceY /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^var targetSourceY = 0; \/\/ 目标元素初始 y 坐标$/;" variable line:11 15 | isMobile /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^var isMobile = 'ontouchstart' in document;$/;" variable line:13 16 | startEvent /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^var startEvent = isMobile ? 'touchstart' : 'mousedown';$/;" variable line:18 17 | moveEvent /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^var moveEvent = isMobile ? 'touchmove' : 'mousemove';$/;" variable line:19 18 | endEvent /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^var endEvent = isMobile ? 'touchend' : 'mouseup';$/;" variable line:20 19 | dragstart /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^function dragstart(event) {$/;" function line:23 20 | dragstart /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^function dragstart(event) {$/;" function line:23 21 | dragmove /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^function dragmove(event) {$/;" function line:37 22 | dragmove /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^function dragmove(event) {$/;" function line:37 23 | dragend /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^function dragend(event) {$/;" function line:53 24 | dragend /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^function dragend(event) {$/;" function line:53 25 | getStyle /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^function getStyle(elem, property) {$/;" function line:62 26 | getStyle /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^function getStyle(elem, property) {$/;" function line:62 27 | getTransform /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^function getTransform() {$/;" function line:69 28 | getTransform /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^function getTransform() {$/;" function line:69 29 | getTargetPos /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^function getTargetPos(elem) {$/;" function line:87 30 | getTargetPos.pos.x /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^ var pos = {x: 0, y: 0};$/;" property line:88 31 | getTargetPos.pos.y /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^ var pos = {x: 0, y: 0};$/;" property line:88 32 | return.x /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^ return pos = {$/;" property line:98 33 | return.x /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^ return pos = {$/;" property line:110 34 | return.y /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^ x: x,$/;" property line:111 35 | getTargetPos /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^function getTargetPos(elem) {$/;" function line:87 36 | setTargetPos /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^function setTargetPos(elem, pos) {$/;" function line:119 37 | setTargetPos /Users/yangbo/develop/me/drag-by-many-ways/drag-by-javascript/app.js /^function setTargetPos(elem, pos) {$/;" function line:119 38 | transform /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ transform = function() {$/;" function line:4 39 | Drag /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ function Drag(selector) {$/;" function line:24 40 | Drag /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ function Drag(selector) {$/;" class line:24 41 | Drag.constructor /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ Drag.prototype = {$/;" property line:35 42 | init /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ init: function() {$/;" function line:37 43 | Drag.init /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ constructor: Drag,$/;" method line:36 44 | getStyle /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ getStyle: function(property) {$/;" function line:40 45 | Drag.getStyle /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ },$/;" method line:39 46 | getPosition /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ getPosition: function() {$/;" function line:43 47 | Drag.getPosition /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ },$/;" method line:42 48 | Drag.getPosition.pos.x /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ var pos = {$/;" property line:44 49 | Drag.getPosition.pos.y /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ x: 0,$/;" property line:45 50 | return.x /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ return pos = {$/;" property line:55 51 | return.x /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ return pos = {$/;" property line:67 52 | return.y /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ x: x,$/;" property line:68 53 | setPostion /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ setPostion: function(options) {$/;" function line:75 54 | Drag.setPostion /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ },$/;" method line:73 55 | setDrag /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ setDrag: function() {$/;" function line:84 56 | Drag.setDrag /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ },$/;" method line:82 57 | dragstart /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ function dragstart(event) {$/;" function line:97 58 | Drag.setDrag.dragstart /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ function dragstart(event) {$/;" function line:97 59 | dragmove /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ function dragmove(event) {$/;" function line:112 60 | Drag.setDrag.dragmove /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ function dragmove(event) {$/;" function line:112 61 | dragend /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ function dragend() {$/;" function line:125 62 | Drag.setDrag.dragend /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jsoop/app.js /^ function dragend() {$/;" function line:125 63 | _moveunderway /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/app.js /^ var _moveunderway = null;$/;" variable line:4 64 | _moveend /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/app.js /^ var _moveend = null;$/;" variable line:5 65 | Drag /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/app.js /^ function Drag (selector) {$/;" function line:8 66 | Drag /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/app.js /^ function Drag (selector) {$/;" class line:8 67 | movestart /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/app.js /^ Drag.prototype.movestart = function (event) {$/;" function line:32 68 | Drag.movestart /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/app.js /^ Drag.prototype.movestart = function (event) {$/;" method line:32 69 | moveunderway /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/app.js /^ Drag.prototype.moveunderway = function (event) {$/;" function line:48 70 | Drag.moveunderway /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/app.js /^ Drag.prototype.moveunderway = function (event) {$/;" method line:48 71 | moveend /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/app.js /^ Drag.prototype.moveend = function (event) {$/;" function line:59 72 | Drag.moveend /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/app.js /^ Drag.prototype.moveend = function (event) {$/;" method line:59 73 | becomeDrag /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/app.js /^ becomeDrag: function () {$/;" function line:72 74 | add /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/app.js /^ add: function(a, b) {$/;" function line:83 75 | jQuery /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ jQuery = function( selector, context ) {$/;" function line:61 76 | fcamelCase /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ fcamelCase = function( all, letter ) {$/;" function line:85 77 | completed /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ completed = function() {$/;" function line:90 78 | init /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ init: function( selector, context, rootjQuery ) {$/;" function line:101 79 | toArray /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ toArray: function() {$/;" function line:202 80 | get /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ get: function( num ) {$/;" function line:208 81 | pushStack /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ pushStack: function( elems ) {$/;" function line:220 82 | each /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ each: function( callback, args ) {$/;" function line:236 83 | ready /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ ready: function( fn ) {$/;" function line:240 84 | slice /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ slice: function() {$/;" function line:247 85 | first /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ first: function() {$/;" function line:252 86 | last /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ last: function() {$/;" function line:256 87 | eq /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ eq: function( i ) {$/;" function line:260 88 | map /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ map: function( callback ) {$/;" function line:266 89 | end /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ end: function() {$/;" function line:272 90 | jQuery.fn.init /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^};$/;" class line:281 91 | noConflict /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ noConflict: function( deep ) {$/;" function line:354 92 | holdReady /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ holdReady: function( hold ) {$/;" function line:374 93 | ready /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ ready: function( wait ) {$/;" function line:383 94 | isFunction /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ isFunction: function( obj ) {$/;" function line:410 95 | isWindow /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ isWindow: function( obj ) {$/;" function line:416 96 | isNumeric /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ isNumeric: function( obj ) {$/;" function line:420 97 | type /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ type: function( obj ) {$/;" function line:424 98 | isPlainObject /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ isPlainObject: function( obj ) {$/;" function line:434 99 | isEmptyObject /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ isEmptyObject: function( obj ) {$/;" function line:461 100 | error /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ error: function( msg ) {$/;" function line:469 101 | parseHTML /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ parseHTML: function( data, context, keepScripts ) {$/;" function line:476 102 | parseXML /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ parseXML: function( data ) {$/;" function line:506 103 | noop /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ noop: function() {},$/;" function line:526 104 | globalEval /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ globalEval: function( code ) {$/;" function line:529 105 | camelCase /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ camelCase: function( string ) {$/;" function line:553 106 | nodeName /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ nodeName: function( elem, name ) {$/;" function line:557 107 | each /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ each: function( obj, callback, args ) {$/;" function line:562 108 | trim /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ trim: function( text ) {$/;" function line:611 109 | makeArray /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ makeArray: function( arr, results ) {$/;" function line:616 110 | inArray /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ inArray: function( elem, arr, i ) {$/;" function line:633 111 | merge /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ merge: function( first, second ) {$/;" function line:637 112 | grep /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ grep: function( elems, callback, inv ) {$/;" function line:657 113 | map /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ map: function( elems, callback, arg ) {$/;" function line:677 114 | proxy /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ proxy: function( fn, context ) {$/;" function line:714 115 | proxy /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ proxy = function() {$/;" function line:731 116 | access /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ access: function( elems, fn, key, value, chainable, emptyGet, raw ) {$/;" function line:743 117 | fn /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ fn = function( elem, key, value ) {$/;" function line:772 118 | swap /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ swap: function( elem, options, callback, args ) {$/;" function line:799 119 | promise /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^jQuery.ready.promise = function( obj ) {$/;" function line:820 120 | jQuery.ready.promise /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^});$/;" function line:818 121 | isArraylike /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function isArraylike( obj ) {$/;" function line:849 122 | isArraylike /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function isArraylike( obj ) {$/;" function line:849 123 | sortOrder /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ sortOrder = function( a, b ) {$/;" function line:909 124 | funescape /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ funescape = function( _, escaped, escapedWhitespace ) {$/;" function line:1006 125 | Sizzle /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function Sizzle( selector, context, results, seed ) {$/;" function line:1049 126 | createCache /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function createCache() {$/;" function line:1164 127 | cache /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ function cache( key, value ) {$/;" function line:1167 128 | markFunction /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function markFunction( fn ) {$/;" function line:1182 129 | assert /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function assert( fn ) {$/;" function line:1191 130 | addHandle /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function addHandle( attrs, handler ) {$/;" function line:1213 131 | siblingCheck /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function siblingCheck( a, b ) {$/;" function line:1228 132 | createInputPseudo /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function createInputPseudo( type ) {$/;" function line:1255 133 | createButtonPseudo /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function createButtonPseudo( type ) {$/;" function line:1266 134 | createPositionalPseudo /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function createPositionalPseudo( fn ) {$/;" function line:1277 135 | assert /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ assert(function( div ) {$/;" function line:1461 136 | assert /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ assert(function( div ) {$/;" function line:1483 137 | assert /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ assert(function( div ) {$/;" function line:1515 138 | matches /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^Sizzle.matches = function( expr, elements ) {$/;" function line:1653 139 | matchesSelector /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^Sizzle.matchesSelector = function( elem, expr ) {$/;" function line:1657 140 | contains /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^Sizzle.contains = function( context, elem ) {$/;" function line:1686 141 | attr /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^Sizzle.attr = function( elem, name ) {$/;" function line:1694 142 | error /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^Sizzle.error = function( msg ) {$/;" function line:1715 143 | uniqueSort /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^Sizzle.uniqueSort = function( results ) {$/;" function line:1723 144 | classCache /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ classCache( className, function( elem ) {$/;" function line:1894 145 | markFunction /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ markFunction(function( seed, matches ) {$/;" function line:2032 146 | markFunction /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ markFunction(function( seed, matches, context, xml ) {$/;" function line:2061 147 | setFilters /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function setFilters() {}$/;" function line:2260 148 | tokenize /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function tokenize( selector, parseOnly ) {$/;" function line:2264 149 | toSelector /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function toSelector( tokens ) {$/;" function line:2331 150 | addCombinator /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function addCombinator( matcher, combinator, base ) {$/;" function line:2341 151 | elementMatcher /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function elementMatcher( matchers ) {$/;" function line:2391 152 | condense /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function condense( unmatched, map, filter, context, xml ) {$/;" function line:2405 153 | setMatcher /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {$/;" function line:2426 154 | matcherFromTokens /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function matcherFromTokens( tokens ) {$/;" function line:2519 155 | matcherFromGroupMatchers /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function matcherFromGroupMatchers( elementMatchers, setMatchers ) {$/;" function line:2574 156 | superMatcher /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ superMatcher = function( seed, context, xml, results, expandContext ) {$/;" function line:2579 157 | multipleContexts /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function multipleContexts( selector, contexts, results ) {$/;" function line:2702 158 | select /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function select( selector, context, results, seed ) {$/;" function line:2711 159 | addHandle /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ addHandle( "type|href|height|width", function( elem, name, isXML ) {$/;" function line:2801 160 | addHandle /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ addHandle( "value", function( elem, name, isXML ) {$/;" function line:2815 161 | addHandle /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ addHandle( booleans, function( elem, name, isXML ) {$/;" function line:2827 162 | createOptions /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function createOptions( options ) {$/;" function line:2851 163 | Callbacks /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^jQuery.Callbacks = function( options ) {$/;" function line:2881 164 | fire /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ fire = function( data ) {$/;" function line:2906 165 | add /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ add: function() {$/;" function line:2935 166 | add /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ (function add( args ) {$/;" function line:2939 167 | remove /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ remove: function() {$/;" function line:2966 168 | has /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ has: function( fn ) {$/;" function line:2988 169 | empty /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ empty: function() {$/;" function line:2992 170 | disable /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ disable: function() {$/;" function line:2998 171 | disabled /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ disabled: function() {$/;" function line:3003 172 | lock /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ lock: function() {$/;" function line:3007 173 | locked /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ locked: function() {$/;" function line:3015 174 | fireWith /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ fireWith: function( context, args ) {$/;" function line:3019 175 | fire /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ fire: function() {$/;" function line:3032 176 | fired /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ fired: function() {$/;" function line:3037 177 | Deferred /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ Deferred: function( func ) {$/;" function line:3046 178 | state /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ state: function() {$/;" function line:3055 179 | always /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ always: function() {$/;" function line:3058 180 | then /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ then: function( \/* fnDone, fnFail, fnProgress *\/ ) {$/;" function line:3062 181 | promise /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ promise: function( obj ) {$/;" function line:3086 182 | when /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ when: function( subordinate \/* , ..., subordinateN *\/ ) {$/;" function line:3134 183 | updateFunc /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ updateFunc = function( i, contexts, values ) {$/;" function line:3146 184 | jQuery /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ jQuery(function() {$/;" function line:3248 185 | Data /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function Data() {$/;" function line:3313 186 | get /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ get: function() {$/;" function line:3318 187 | accepts /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^Data.accepts = function( owner ) {$/;" function line:3328 188 | key /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ key: function( owner ) {$/;" function line:3340 189 | set /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ set: function( owner, data, value ) {$/;" function line:3376 190 | get /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ get: function( owner, key ) {$/;" function line:3402 191 | access /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ access: function( owner, key, value ) {$/;" function line:3412 192 | remove /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ remove: function( owner, key ) {$/;" function line:3446 193 | hasData /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ hasData: function( owner ) {$/;" function line:3484 194 | discard /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ discard: function( owner ) {$/;" function line:3489 195 | hasData /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ hasData: function( elem ) {$/;" function line:3504 196 | data /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ data: function( elem, name, data ) {$/;" function line:3508 197 | removeData /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ removeData: function( elem, name ) {$/;" function line:3512 198 | _data /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ _data: function( elem, name, data ) {$/;" function line:3518 199 | _removeData /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ _removeData: function( elem, name ) {$/;" function line:3522 200 | data /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ data: function( key, value ) {$/;" function line:3528 201 | removeData /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ removeData: function( key ) {$/;" function line:3619 202 | dataAttr /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function dataAttr( elem, key, data ) {$/;" function line:3626 203 | queue /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ queue: function( elem, type, data ) {$/;" function line:3655 204 | dequeue /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ dequeue: function( elem, type ) {$/;" function line:3674 205 | next /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ next = function() {$/;" function line:3681 206 | _queueHooks /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ _queueHooks: function( elem, type ) {$/;" function line:3710 207 | queue /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ queue: function( type, data ) {$/;" function line:3721 208 | dequeue /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ dequeue: function( type ) {$/;" function line:3747 209 | delay /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ delay: function( time, type ) {$/;" function line:3754 210 | stop /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ hooks.stop = function() {$/;" function line:3760 211 | clearQueue /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ clearQueue: function( type ) {$/;" function line:3765 212 | promise /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ promise: function( type, obj ) {$/;" function line:3770 213 | resolve /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ resolve = function() {$/;" function line:3776 214 | attr /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ attr: function( name, value ) {$/;" function line:3805 215 | removeAttr /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ removeAttr: function( name ) {$/;" function line:3809 216 | prop /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ prop: function( name, value ) {$/;" function line:3815 217 | removeProp /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ removeProp: function( name ) {$/;" function line:3819 218 | addClass /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ addClass: function( value ) {$/;" function line:3825 219 | removeClass /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ removeClass: function( value ) {$/;" function line:3864 220 | toggleClass /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ toggleClass: function( value, stateVal ) {$/;" function line:3902 221 | hasClass /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ hasClass: function( selector ) {$/;" function line:3948 222 | val /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ val: function( value ) {$/;" function line:3961 223 | get /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ get: function( elem ) {$/;" function line:4024 224 | get /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ get: function( elem ) {$/;" function line:4032 225 | set /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ set: function( elem, value ) {$/;" function line:4069 226 | attr /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ attr: function( elem, name, value ) {$/;" function line:4091 227 | removeAttr /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ removeAttr: function( elem, value ) {$/;" function line:4139 228 | set /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ set: function( elem, value ) {$/;" function line:4161 229 | prop /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ prop: function( elem, name, value ) {$/;" function line:4181 230 | get /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ get: function( elem ) {$/;" function line:4212 231 | set /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ set: function( elem, value, name ) {$/;" function line:4223 232 | get /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ get: function( elem ) {$/;" function line:4259 233 | set /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ set: function( elem, value ) {$/;" function line:4287 234 | returnTrue /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function returnTrue() {$/;" function line:4306 235 | returnFalse /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function returnFalse() {$/;" function line:4310 236 | safeActiveElement /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function safeActiveElement() {$/;" function line:4314 237 | add /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ add: function( elem, types, handler, data, selector ) {$/;" function line:4328 238 | remove /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ remove: function( elem, types, handler, selector, mappedTypes ) {$/;" function line:4439 239 | trigger /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ trigger: function( event, data, elem, onlyHandlers ) {$/;" function line:4509 240 | dispatch /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ dispatch: function( event ) {$/;" function line:4638 241 | handlers /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ handlers: function( event, handlers ) {$/;" function line:4697 242 | filter /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ filter: function( event, original ) {$/;" function line:4750 243 | filter /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ filter: function( event, original ) {$/;" function line:4763 244 | fix /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ fix: function( event ) {$/;" function line:4787 245 | trigger /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ trigger: function() {$/;" function line:4836 246 | trigger /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ trigger: function() {$/;" function line:4845 247 | trigger /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ trigger: function() {$/;" function line:4855 248 | _default /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ _default: function( event ) {$/;" function line:4863 249 | postDispatch /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ postDispatch: function( event ) {$/;" function line:4869 250 | simulate /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ simulate: function( type, elem, event, bubble ) {$/;" function line:4880 251 | removeEvent /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^jQuery.removeEvent = function( elem, type, handle ) {$/;" function line:4904 252 | Event /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^jQuery.Event = function( src, props ) {$/;" function line:4910 253 | preventDefault /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ preventDefault: function() {$/;" function line:4950 254 | stopPropagation /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ stopPropagation: function() {$/;" function line:4959 255 | stopImmediatePropagation /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ stopImmediatePropagation: function() {$/;" function line:4968 256 | handle /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ handle: function( event ) {$/;" function line:4984 257 | handler /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ handler = function( event ) {$/;" function line:5009 258 | setup /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ setup: function() {$/;" function line:5014 259 | teardown /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ teardown: function() {$/;" function line:5019 260 | on /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ on: function( types, selector, data, fn, \/*INTERNAL*\/ one ) {$/;" function line:5030 261 | fn /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ fn = function( event ) {$/;" function line:5071 262 | one /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ one: function( types, selector, data, fn ) {$/;" function line:5083 263 | off /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ off: function( types, selector, fn ) {$/;" function line:5086 264 | trigger /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ trigger: function( type, data ) {$/;" function line:5118 265 | triggerHandler /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ triggerHandler: function( type, data ) {$/;" function line:5123 266 | find /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ find: function( selector ) {$/;" function line:5142 267 | has /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ has: function( target ) {$/;" function line:5168 268 | not /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ not: function( selector ) {$/;" function line:5182 269 | filter /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ filter: function( selector ) {$/;" function line:5186 270 | is /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ is: function( selector ) {$/;" function line:5190 271 | closest /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ closest: function( selectors, context ) {$/;" function line:5203 272 | index /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ index: function( elem ) {$/;" function line:5233 273 | add /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ add: function( selector, context ) {$/;" function line:5253 274 | addBack /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ addBack: function( selector ) {$/;" function line:5262 275 | sibling /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function sibling( cur, dir ) {$/;" function line:5269 276 | parent /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ parent: function( elem ) {$/;" function line:5276 277 | parents /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ parents: function( elem ) {$/;" function line:5280 278 | parentsUntil /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ parentsUntil: function( elem, i, until ) {$/;" function line:5283 279 | next /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ next: function( elem ) {$/;" function line:5286 280 | prev /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ prev: function( elem ) {$/;" function line:5289 281 | nextAll /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ nextAll: function( elem ) {$/;" function line:5292 282 | prevAll /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ prevAll: function( elem ) {$/;" function line:5295 283 | nextUntil /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ nextUntil: function( elem, i, until ) {$/;" function line:5298 284 | prevUntil /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ prevUntil: function( elem, i, until ) {$/;" function line:5301 285 | siblings /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ siblings: function( elem ) {$/;" function line:5304 286 | children /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ children: function( elem ) {$/;" function line:5307 287 | contents /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ contents: function( elem ) {$/;" function line:5310 288 | filter /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ filter: function( expr, elems, not ) {$/;" function line:5342 289 | dir /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ dir: function( elem, dir, until ) {$/;" function line:5356 290 | sibling /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ sibling: function( n, elem ) {$/;" function line:5371 291 | winnow /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function winnow( elements, qualifier, not ) {$/;" function line:5385 292 | text /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ text: function( value ) {$/;" function line:5445 293 | append /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ append: function() {$/;" function line:5453 294 | prepend /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ prepend: function() {$/;" function line:5462 295 | before /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ before: function() {$/;" function line:5471 296 | after /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ after: function() {$/;" function line:5479 297 | remove /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ remove: function( selector, keepData ) {$/;" function line:5488 298 | empty /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ empty: function() {$/;" function line:5509 299 | clone /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ clone: function( dataAndEvents, deepDataAndEvents ) {$/;" function line:5527 300 | html /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ html: function( value ) {$/;" function line:5536 301 | replaceWith /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ replaceWith: function() {$/;" function line:5575 302 | detach /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ detach: function( selector ) {$/;" function line:5603 303 | domManip /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ domManip: function( args, callback, allowIntersection ) {$/;" function line:5607 304 | clone /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ clone: function( elem, dataAndEvents, deepDataAndEvents ) {$/;" function line:5718 305 | buildFragment /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ buildFragment: function( elems, context, scripts, selection ) {$/;" function line:5760 306 | cleanData /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ cleanData: function( elems ) {$/;" function line:5847 307 | _evalUrl /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ _evalUrl: function( url ) {$/;" function line:5880 308 | manipulationTarget /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function manipulationTarget( elem, content ) {$/;" function line:5894 309 | disableScript /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function disableScript( elem ) {$/;" function line:5904 310 | restoreScript /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function restoreScript( elem ) {$/;" function line:5908 311 | setGlobalEval /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function setGlobalEval( elems, refElements ) {$/;" function line:5921 312 | cloneCopyEvent /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function cloneCopyEvent( src, dest ) {$/;" function line:5932 313 | getAll /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function getAll( context, tag ) {$/;" function line:5967 314 | fixInput /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function fixInput( src, dest ) {$/;" function line:5978 315 | wrapAll /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ wrapAll: function( html ) {$/;" function line:5991 316 | wrapInner /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ wrapInner: function( html ) {$/;" function line:6023 317 | wrap /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ wrap: function( html ) {$/;" function line:6043 318 | unwrap /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ unwrap: function() {$/;" function line:6051 319 | vendorPropName /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function vendorPropName( style, name ) {$/;" function line:6079 320 | isHidden /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function isHidden( elem, el ) {$/;" function line:6101 321 | getStyles /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function getStyles( elem ) {$/;" function line:6110 322 | showHide /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function showHide( elements, show ) {$/;" function line:6114 323 | css /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ css: function( name, value ) {$/;" function line:6169 324 | show /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ show: function() {$/;" function line:6191 325 | hide /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ hide: function() {$/;" function line:6194 326 | toggle /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ toggle: function( state ) {$/;" function line:6197 327 | get /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ get: function( elem, computed ) {$/;" function line:6217 328 | style /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ style: function( elem, name, value, extra ) {$/;" function line:6249 329 | css /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ css: function( elem, name, extra, styles ) {$/;" function line:6309 330 | curCSS /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^curCSS = function( elem, name, _computed ) {$/;" function line:6344 331 | setPositiveNumber /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function setPositiveNumber( elem, value, subtract ) {$/;" function line:6385 332 | augmentWidthOrHeight /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {$/;" function line:6393 333 | getWidthOrHeight /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function getWidthOrHeight( elem, name, extra ) {$/;" function line:6432 334 | css_defaultDisplay /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function css_defaultDisplay( nodeName ) {$/;" function line:6476 335 | actualDisplay /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function actualDisplay( name, doc ) {$/;" function line:6508 336 | get /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ get: function( elem, computed, extra ) {$/;" function line:6517 337 | set /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ set: function( elem, value, extra ) {$/;" function line:6529 338 | jQuery /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^jQuery(function() {$/;" function line:6546 339 | get /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ get: function( elem, computed ) {$/;" function line:6550 340 | get /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ get: function( elem, computed ) {$/;" function line:6568 341 | hidden /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ jQuery.expr.filters.hidden = function( elem ) {$/;" function line:6584 342 | visible /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ jQuery.expr.filters.visible = function( elem ) {$/;" function line:6590 343 | expand /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ expand: function( value ) {$/;" function line:6602 344 | serialize /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ serialize: function() {$/;" function line:6629 345 | serializeArray /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ serializeArray: function() {$/;" function line:6632 346 | param /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^jQuery.param = function( a, traditional ) {$/;" function line:6661 347 | add /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ add = function( key, value ) {$/;" function line:6664 348 | buildParams /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function buildParams( prefix, obj, traditional, add ) {$/;" function line:6694 349 | hover /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ hover: function( fnOver, fnOut ) {$/;" function line:6734 350 | bind /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ bind: function( types, data, fn ) {$/;" function line:6738 351 | unbind /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ unbind: function( types, fn ) {$/;" function line:6741 352 | delegate /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ delegate: function( selector, types, data, fn ) {$/;" function line:6745 353 | undelegate /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ undelegate: function( selector, types, fn ) {$/;" function line:6748 354 | addToPrefiltersOrTransports /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function addToPrefiltersOrTransports( structure ) {$/;" function line:6810 355 | inspectPrefiltersOrTransports /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {$/;" function line:6842 356 | inspect /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ function inspect( dataType ) {$/;" function line:6847 357 | ajaxExtend /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function ajaxExtend( target, src ) {$/;" function line:6869 358 | load /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^jQuery.fn.load = function( url, params, callback ) {$/;" function line:6885 359 | ajaxSetup /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ ajaxSetup: function( target, settings ) {$/;" function line:7028 360 | ajax /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ ajax: function( url, options ) {$/;" function line:7042 361 | getResponseHeader /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ getResponseHeader: function( key ) {$/;" function line:7092 362 | getAllResponseHeaders /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ getAllResponseHeaders: function() {$/;" function line:7107 363 | setRequestHeader /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ setRequestHeader: function( name, value ) {$/;" function line:7112 364 | overrideMimeType /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ overrideMimeType: function( type ) {$/;" function line:7122 365 | statusCode /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ statusCode: function( map ) {$/;" function line:7130 366 | abort /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ abort: function( statusText ) {$/;" function line:7147 367 | done /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ function done( status, nativeStatusText, responses, headers ) {$/;" function line:7315 368 | getJSON /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ getJSON: function( url, data, callback ) {$/;" function line:7430 369 | getScript /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ getScript: function( url, callback ) {$/;" function line:7434 370 | ajaxHandleResponses /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function ajaxHandleResponses( s, jqXHR, responses ) {$/;" function line:7462 371 | ajaxConvert /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function ajaxConvert( s, response, jqXHR, isSuccess ) {$/;" function line:7518 372 | send /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ send: function( _, complete ) {$/;" function line:7640 373 | callback /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ callback = function( evt ) {$/;" function line:7647 374 | abort /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ abort: function() {$/;" function line:7657 375 | jsonpCallback /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ jsonpCallback: function() {$/;" function line:7671 376 | xhr /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^jQuery.ajaxSettings.xhr = function() {$/;" function line:7745 377 | send /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ send: function( headers, complete ) {$/;" function line:7782 378 | callback /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ callback = function( type ) {$/;" function line:7809 379 | abort /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ abort: function() {$/;" function line:7848 380 | createFxNow /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function createFxNow() {$/;" function line:7913 381 | setTimeout /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ setTimeout(function() {$/;" function line:7914 382 | createTween /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function createTween( value, prop, animation ) {$/;" function line:7920 383 | Animation /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function Animation( elem, properties, options ) {$/;" function line:7934 384 | tick /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ tick = function() {$/;" function line:7943 385 | createTween /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ createTween: function( prop, end ) {$/;" function line:7977 386 | stop /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ stop: function( gotoEnd ) {$/;" function line:7983 387 | propFilter /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function propFilter( props, specialEasing ) {$/;" function line:8038 388 | tweener /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ tweener: function( props, callback ) {$/;" function line:8077 389 | prefilter /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ prefilter: function( callback, prepend ) {$/;" function line:8096 390 | defaultPrefilter /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function defaultPrefilter( elem, props, opts ) {$/;" function line:8105 391 | fire /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ hooks.empty.fire = function() {$/;" function line:8120 392 | Tween /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function Tween( elem, options, prop, end, easing ) {$/;" function line:8228 393 | init /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ init: function( elem, options, prop, end, easing, unit ) {$/;" function line:8235 394 | cur /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ cur: function() {$/;" function line:8244 395 | run /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ run: function( percent ) {$/;" function line:8251 396 | get /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ get: function( tween ) {$/;" function line:8281 397 | set /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ set: function( tween ) {$/;" function line:8297 398 | set /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ set: function( tween ) {$/;" function line:8315 399 | fadeTo /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ fadeTo: function( speed, to, easing, callback ) {$/;" function line:8332 400 | animate /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ animate: function( prop, speed, easing, callback ) {$/;" function line:8340 401 | doAnimation /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ doAnimation = function() {$/;" function line:8343 402 | stop /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ stop: function( type, clearQueue, gotoEnd ) {$/;" function line:8358 403 | stopQueue /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ var stopQueue = function( hooks ) {$/;" function line:8359 404 | finish /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ finish: function( type ) {$/;" function line:8408 405 | genFx /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function genFx( type, includeWidth ) {$/;" function line:8452 406 | speed /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^jQuery.speed = function( speed, easing, fn ) {$/;" function line:8486 407 | complete /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ opt.complete = function() {$/;" function line:8505 408 | linear /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ linear: function( p ) {$/;" function line:8519 409 | swing /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ swing: function( p ) {$/;" function line:8522 410 | tick /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^jQuery.fx.tick = function() {$/;" function line:8529 411 | timer /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^jQuery.fx.timer = function( timer ) {$/;" function line:8550 412 | start /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^jQuery.fx.start = function() {$/;" function line:8558 413 | stop /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^jQuery.fx.stop = function() {$/;" function line:8564 414 | animated /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ jQuery.expr.filters.animated = function( elem ) {$/;" function line:8580 415 | offset /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^jQuery.fn.offset = function( options ) {$/;" function line:8586 416 | setOffset /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ setOffset: function( elem, options, i ) {$/;" function line:8625 417 | position /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ position: function() {$/;" function line:8675 418 | offsetParent /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ offsetParent: function() {$/;" function line:8711 419 | getWindow /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^function getWindow( elem ) {$/;" function line:8750 420 | size /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^jQuery.fn.size = function() {$/;" function line:8798 421 | define /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery-plugin/jquery-2.0.3.js /^ define( "jquery", [], function () { return jQuery; } );$/;" function line:8820 422 | eQuery /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ var eQuery = function(selector) {$/;" function line:3 423 | init /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ init: function(selector) {$/;" function line:14 424 | toArray /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ toArray: function() {},$/;" function line:26 425 | get /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ get: function() {},$/;" function line:27 426 | each /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ each: function() {},$/;" function line:28 427 | ready /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ ready: function() {},$/;" function line:29 428 | first /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ first: function() {},$/;" function line:30 429 | slice /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ slice: function() {}$/;" function line:31 430 | eQuery.fn.init /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ }$/;" class line:33 431 | isFunction /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ isFunction: function() {},$/;" function line:55 432 | type /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ type: function() {},$/;" function line:56 433 | parseHTML /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ parseHTML: function() {},$/;" function line:57 434 | parseJSON /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ parseJSON: function() {},$/;" function line:58 435 | ajax /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ ajax: function() {}$/;" function line:59 436 | queue /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ queue: function() {},$/;" function line:65 437 | promise /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ promise: function() {},$/;" function line:66 438 | attr /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ attr: function() {},$/;" function line:67 439 | prop /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ prop: function() {},$/;" function line:68 440 | addClass /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ addClass: function() {},$/;" function line:69 441 | removeClass /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ removeClass: function() {},$/;" function line:70 442 | val /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ val: function() {},$/;" function line:71 443 | css /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ css: function() {}$/;" function line:72 444 | -------------------------------------------------------------------------------- /.tags1: -------------------------------------------------------------------------------- 1 | !_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/ 2 | !_TAG_FILE_SORTED 0 /0=unsorted, 1=sorted, 2=foldcase/ 3 | !_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/ 4 | !_TAG_PROGRAM_NAME Exuberant Ctags // 5 | !_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/ 6 | !_TAG_PROGRAM_VERSION 5.8 // 7 | eQuery /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ var eQuery = function(selector) {$/;" function line:3 8 | init /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ init: function(selector) {$/;" function line:14 9 | toArray /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ toArray: function() {},$/;" function line:26 10 | get /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ get: function() {},$/;" function line:27 11 | each /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ each: function() {},$/;" function line:28 12 | ready /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ ready: function() {},$/;" function line:29 13 | first /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ first: function() {},$/;" function line:30 14 | slice /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ slice: function() {}$/;" function line:31 15 | eQuery.fn.init /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ }$/;" class line:33 16 | isFunction /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ isFunction: function() {},$/;" function line:55 17 | type /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ type: function() {},$/;" function line:56 18 | parseHTML /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ parseHTML: function() {},$/;" function line:57 19 | parseJSON /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ parseJSON: function() {},$/;" function line:58 20 | ajax /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ ajax: function() {}$/;" function line:59 21 | queue /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ queue: function() {},$/;" function line:65 22 | promise /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ promise: function() {},$/;" function line:66 23 | attr /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ attr: function() {},$/;" function line:67 24 | prop /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ prop: function() {},$/;" function line:68 25 | addClass /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ addClass: function() {},$/;" function line:69 26 | removeClass /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ removeClass: function() {},$/;" function line:70 27 | val /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ val: function() {},$/;" function line:71 28 | css /Users/yangbo/develop/me/drag-by-many-ways/drag-by-jquery/app.js /^ css: function() {}$/;" function line:72 29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # drag-by-many-ways 2 | 多种方式实现拖拽 3 | -------------------------------------------------------------------------------- /drag-by-javascript/app.js: -------------------------------------------------------------------------------- 1 | var oElem = document.getElementById('target'); 2 | 3 | var startX = 0; 4 | var startY = 0; 5 | 6 | var sourceX = 0; 7 | var sourceY = 0; 8 | 9 | oElem.addEventListener('mousedown', start, false); 10 | 11 | function start(event) { 12 | startX = event.pageX; 13 | startY = event.pageY; 14 | 15 | var pos = getTargetPos(oElem); 16 | 17 | sourceX = pos.x; 18 | sourceY = pos.y; 19 | 20 | document.addEventListener('mousemove', move, false); 21 | document.addEventListener('mouseup', end, false); 22 | } 23 | 24 | function move(event) { 25 | var currentX = event.pageX; 26 | var currentY = event.pageY; 27 | 28 | var distanceX = currentX - startX; 29 | var distanceY = currentY - startY; 30 | 31 | setTargetPos(oElem, { 32 | x: (sourceX + distanceX).toFixed(), 33 | y: (sourceY + distanceY).toFixed() 34 | }) 35 | } 36 | 37 | function end(event) { 38 | document.removeEventListener('mousemove', move); 39 | document.removeEventListener('mouseup', end); 40 | // do other things 41 | } 42 | 43 | 44 | function getStyle(elem, property) { 45 | // 低版本ie通过currentStyle来获取元素的样式,其他浏览器通过getComputedStyle来获取 46 | return document.defaultView.getComputedStyle ? document.defaultView.getComputedStyle(elem, false)[property] : elem.currentStyle[property]; 47 | } 48 | 49 | function getTransform() { 50 | var transform = '', 51 | divStyle = document.createElement('div').style, 52 | transformArr = ['transform', 'webkitTransform', 'MozTransform', 'msTransform', 'OTransform'], 53 | 54 | i = 0, 55 | len = transformArr.length; 56 | 57 | for(; i < len; i++) { 58 | if(transformArr[i] in divStyle) { 59 | return transform = transformArr[i]; 60 | } 61 | } 62 | 63 | return transform; 64 | } 65 | 66 | 67 | function getTargetPos(elem) { 68 | var pos = {x: 0, y: 0}; 69 | var transform = getTransform(); 70 | // transform = false; 71 | if(transform) { 72 | var transformValue = getStyle(elem, transform); 73 | if(transformValue == 'none') { 74 | elem.style[transform] = 'translate(0, 0)'; 75 | return pos; 76 | } else { 77 | var temp = transformValue.match(/[0-9,\s\.]+/)[0].split(','); 78 | return pos = { 79 | x: parseInt(temp[4].trim()), 80 | y: parseInt(temp[5].trim()) 81 | } 82 | } 83 | } else { 84 | if(getStyle(elem, 'position') == 'static') { 85 | elem.style.position = 'relative'; 86 | return pos; 87 | } else { 88 | var x = parseInt(getStyle(elem, 'left') ? getStyle(elem, 'left') : 0); 89 | var y = parseInt(getStyle(elem, 'top') ? getStyle(elem, 'top') : 0); 90 | return pos = { 91 | x: x, 92 | y: y 93 | } 94 | } 95 | } 96 | } 97 | 98 | // pos = { x: 200, y: 100 } 99 | function setTargetPos(elem, pos) { 100 | var transform = getTransform(); 101 | if(transform) { 102 | elem.style[transform] = 'translate('+ pos.x +'px, '+ pos.y +'px)'; 103 | } else { 104 | elem.style.left = pos.x + 'px'; 105 | elem.style.top = pos.y + 'px'; 106 | } 107 | return elem; 108 | } 109 | -------------------------------------------------------------------------------- /drag-by-javascript/index.html: -------------------------------------------------------------------------------- 1 | <!DOCTYPE html> 2 | <html lang="en"> 3 | 4 | <head> 5 | <meta charset="UTF-8"> 6 | <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" /> 7 | <title>使用JavaScript实现拖拽 8 | 25 | 26 | 27 | 28 |
JS
29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /drag-by-jquery-plugin/app.js: -------------------------------------------------------------------------------- 1 | ; 2 | (function () { 3 | var isMobile = 'ontouchstart' in document; 4 | var _moveunderway = null; 5 | var _moveend = null; 6 | 7 | // 声明构造函数 8 | function Drag (selector) { 9 | 10 | this.oTarget = null; 11 | if (typeof selector == 'object') { 12 | this.oTarget = selector; 13 | } else { 14 | this.oTarget = document.querySelector(selector); 15 | } 16 | 17 | this.startX = 0; 18 | this.startY = 0; 19 | this.targetSourceX = 0; 20 | this.targetSourceY = 0; 21 | 22 | if (isMobile) { 23 | this.oTarget.addEventListener('touchstart', this.movestart.bind(this), false); 24 | this.oTarget.addEventListener('touchmove', this.moveunderway.bind(this), false); 25 | this.oTarget.addEventListener('touchend', this.moveend.bind(this), false); 26 | } else { 27 | this.oTarget.addEventListener('mousedown', this.movestart.bind(this), false); 28 | } 29 | } 30 | 31 | // 添加原型方法 32 | Drag.prototype.movestart = function (event) { 33 | this.startX = isMobile ? event.changedTouches[0].pageX : event.pageX; 34 | this.startY = isMobile ? event.changedTouches[0].pageY : event.pageY; 35 | 36 | var styles = document.defaultView.getComputedStyle(this.oTarget, false); 37 | this.targetSourceX = parseInt(styles.left); 38 | this.targetSourceY = parseInt(styles.top); 39 | 40 | if (!isMobile) { 41 | _moveunderway = this.moveunderway.bind(this); 42 | _moveend = this.moveend.bind(this); 43 | document.addEventListener('mousemove', _moveunderway, false); 44 | document.addEventListener('mouseup', _moveend, false); 45 | } 46 | } 47 | 48 | Drag.prototype.moveunderway = function (event) { 49 | var currentX = isMobile ? event.changedTouches[0].pageX : event.pageX; 50 | var currentY = isMobile ? event.changedTouches[0].pageY : event.pageY; 51 | var distanceX = currentX - this.startX; 52 | var distanceY = currentY - this.startY; 53 | var targetCurrentX = this.targetSourceX + distanceX; 54 | var targetCurrentY = this.targetSourceY + distanceY; 55 | this.oTarget.style.left = targetCurrentX + 'px'; 56 | this.oTarget.style.top = targetCurrentY + 'px'; 57 | } 58 | 59 | Drag.prototype.moveend = function (event) { 60 | if (!isMobile) { 61 | document.removeEventListener('mousemove', _moveunderway); 62 | document.removeEventListener('mouseup', _moveend); 63 | } 64 | } 65 | 66 | window.Drag = Drag; 67 | })(); 68 | 69 | 70 | (function ($) { 71 | $.fn.extend({ 72 | becomeDrag: function () { 73 | new Drag(this[0]); 74 | return this; 75 | } 76 | }) 77 | })(jQuery); 78 | 79 | $('#target').becomeDrag(); 80 | 81 | 82 | $.fn.extend({ 83 | add: function(a, b) { 84 | return a + b; 85 | } 86 | }) 87 | 88 | $(document.body).add(10, 20); 89 | -------------------------------------------------------------------------------- /drag-by-jquery-plugin/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 拖拽 7 | 23 | 24 | 25 |
JS
26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /drag-by-jquery/app.js: -------------------------------------------------------------------------------- 1 | ; 2 | (function(ROOT) { 3 | var jQuery = function(selector) { 4 | 5 | // 在jQuery中直接返回new过的实例,这里的init是jQuery的真正构造函数 6 | return new jQuery.fn.init(selector) 7 | } 8 | 9 | jQuery.fn = jQuery.prototype = { 10 | constructor: jQuery, 11 | 12 | version: '1.0.0', 13 | 14 | init: function(selector) { 15 | // 在jquery中这里有一个复杂的判断,但是这里我做了简化 16 | var elem, selector; 17 | elem = document.querySelector(selector); 18 | this[0] = elem; 19 | 20 | // 在jquery中返回一个由所有原型属性方法组成的数组,我们这里简化,直接返回this即可 21 | // return jQuery.makeArray(selector, this); 22 | return this; 23 | }, 24 | 25 | // 在原型上添加一堆方法 26 | toArray: function() {}, 27 | get: function() {}, 28 | each: function() {}, 29 | ready: function() {}, 30 | first: function() {}, 31 | slice: function() {} 32 | // ... ... 33 | } 34 | 35 | jQuery.fn.init.prototype = jQuery.fn; 36 | 37 | // 实现jQuery的两种扩展方式 38 | jQuery.extend = jQuery.fn.extend = function(options) { 39 | 40 | // 在jquery源码中会根据参数不同进行很多判断,我们这里就直接走一种方式,所以就不用判断了 41 | var target = this; 42 | var copy; 43 | 44 | for(name in options) { 45 | copy = options[name]; 46 | target[name] = copy; 47 | } 48 | return target; 49 | } 50 | 51 | // jQuery中利用上面实现的扩展机制,添加了许多方法,其中 52 | 53 | // 直接添加在构造函数上,被称为工具方法 54 | jQuery.extend({ 55 | isFunction: function() {}, 56 | type: function() {}, 57 | parseHTML: function() {}, 58 | parseJSON: function() {}, 59 | ajax: function() {} 60 | // ... 61 | }) 62 | 63 | // 添加到原型上 64 | jQuery.fn.extend({ 65 | queue: function() {}, 66 | promise: function() {}, 67 | attr: function() {}, 68 | prop: function() {}, 69 | addClass: function() {}, 70 | removeClass: function() {}, 71 | val: function() {}, 72 | css: function() {} 73 | // ... 74 | }) 75 | 76 | // $符号的由来,实际上它就是jQuery,一个简化的写法,在这里我们还可以替换成其他可用字符 77 | ROOT.jQuery = ROOT.$ = jQuery; 78 | 79 | })(window); 80 | -------------------------------------------------------------------------------- /drag-by-jquery/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 拖拽 7 | 23 | 24 | 25 |
JS
26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /drag-by-jsoop/app.js: -------------------------------------------------------------------------------- 1 | ; 2 | (function() { 3 | // 这是一个私有属性,不需要被实例访问 4 | var transform = getTransform(); 5 | 6 | function Drag(selector) { 7 | // 放在构造函数中的属性,都是属于每一个实例单独拥有 8 | this.elem = typeof selector == 'Object' ? selector : document.getElementById(selector); 9 | this.startX = 0; 10 | this.startY = 0; 11 | this.sourceX = 0; 12 | this.sourceY = 0; 13 | 14 | this.init(); 15 | } 16 | 17 | 18 | // 原型 19 | Drag.prototype = { 20 | constructor: Drag, 21 | 22 | init: function() { 23 | // 初始时需要做些什么事情 24 | this.setDrag(); 25 | }, 26 | 27 | // 稍作改造,仅用于获取当前元素的属性,类似于getName 28 | getStyle: function(property) { 29 | return document.defaultView.getComputedStyle ? document.defaultView.getComputedStyle(this.elem, false)[property] : this.elem.currentStyle[property]; 30 | }, 31 | 32 | // 用来获取当前元素的位置信息,注意与之前的不同之处 33 | getPosition: function() { 34 | var pos = {x: 0, y: 0}; 35 | if(transform) { 36 | var transformValue = this.getStyle(transform); 37 | if(transformValue == 'none') { 38 | this.elem.style[transform] = 'translate(0, 0)'; 39 | } else { 40 | var temp = transformValue.match(/[0-9,\s\.]+/)[0].split(','); 41 | pos = { 42 | x: parseInt(temp[4].trim()), 43 | y: parseInt(temp[5].trim()) 44 | } 45 | } 46 | } else { 47 | if(this.getStyle('position') == 'static') { 48 | this.elem.style.position = 'relative'; 49 | } else { 50 | pos = { 51 | x: parseInt(this.getStyle('left') ? this.getStyle('left') : 0), 52 | y: parseInt(this.getStyle('top') ? this.getStyle('top') : 0) 53 | } 54 | } 55 | } 56 | 57 | return pos; 58 | }, 59 | 60 | // 用来设置当前元素的位置 61 | setPostion: function(pos) { 62 | if(transform) { 63 | this.elem.style[transform] = 'translate('+ pos.x +'px, '+ pos.y +'px)'; 64 | } else { 65 | this.elem.style.left = pos.x + 'px'; 66 | this.elem.style.top = pos.y + 'px'; 67 | } 68 | }, 69 | 70 | // 该方法用来绑定事件 71 | setDrag: function() { 72 | var self = this; 73 | this.elem.addEventListener('mousedown', start, false); 74 | function start(event) { 75 | self.startX = event.pageX; 76 | self.startY = event.pageY; 77 | 78 | var pos = self.getPosition(); 79 | 80 | self.sourceX = pos.x; 81 | self.sourceY = pos.y; 82 | 83 | document.addEventListener('mousemove', move, false); 84 | document.addEventListener('mouseup', end, false); 85 | } 86 | 87 | function move(event) { 88 | var currentX = event.pageX; 89 | var currentY = event.pageY; 90 | 91 | var distanceX = currentX - self.startX; 92 | var distanceY = currentY - self.startY; 93 | 94 | self.setPostion({ 95 | x: (self.sourceX + distanceX).toFixed(), 96 | y: (self.sourceY + distanceY).toFixed() 97 | }) 98 | } 99 | 100 | function end(event) { 101 | document.removeEventListener('mousemove', move); 102 | document.removeEventListener('mouseup', end); 103 | // do other things 104 | } 105 | } 106 | } 107 | 108 | // 私有方法,仅仅用来获取transform的兼容写法 109 | function getTransform() { 110 | var transform = '', 111 | divStyle = document.createElement('div').style, 112 | transformArr = ['transform', 'webkitTransform', 'MozTransform', 'msTransform', 'OTransform'], 113 | 114 | i = 0, 115 | len = transformArr.length; 116 | 117 | for(; i < len; i++) { 118 | if(transformArr[i] in divStyle) { 119 | return transform = transformArr[i]; 120 | } 121 | } 122 | 123 | return transform; 124 | } 125 | 126 | // 一种对外暴露的方式 127 | window.Drag = Drag; 128 | })(); 129 | 130 | // 使用:声明2个拖拽实例 131 | new Drag('target'); 132 | new Drag('target2'); 133 | 134 | (function ($) { 135 | $.fn.extend({ 136 | becomeDrag: function () { 137 | new Drag(this[0]); 138 | return this; 139 | } 140 | }) 141 | })(jQuery); 142 | -------------------------------------------------------------------------------- /drag-by-jsoop/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 拖拽 7 | 37 | 38 | 39 |
JS
40 |
JS2
41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /drag-by-react/app.js: -------------------------------------------------------------------------------- 1 | // 暂时先不管html5的拖拽事件 2 | var Drag = React.createClass({ 3 | getInitialState: function () { 4 | return { 5 | startX: 0, 6 | startY: 0, 7 | targetSourceX: 0, 8 | targetSourceY: 0, 9 | targetCurrentX: 0, 10 | targetCurrentY: 0, 11 | isMobile: 'ontouchstart' in document 12 | } 13 | }, 14 | movestart: function (e) { 15 | var startX = this.state.isMobile ? e.nativeEvent.changedTouches[0].pageX : e.nativeEvent.pageX; 16 | var startY = this.state.isMobile ? e.nativeEvent.changedTouches[0].pageY : e.nativeEvent.pageY; 17 | this.setState({ 18 | startX: startX, 19 | startY: startY 20 | }) 21 | 22 | var _this = this; 23 | 24 | if (!this.state.isMobile) { 25 | var oTarget = this.refs.target; 26 | document.addEventListener('mousemove', mousemove, false); 27 | document.addEventListener('mouseup', mouseup, false); 28 | 29 | function mousemove (e) { 30 | var currentX = e.pageX; 31 | var currentY = e.pageY; 32 | var distanceX = currentX - _this.state.startX; 33 | var distanceY = currentY - _this.state.startY; 34 | 35 | var targetCurrentX = _this.state.targetSourceX + distanceX; 36 | var targetCurrentY = _this.state.targetSourceY + distanceY; 37 | _this.setState({ 38 | targetCurrentX: targetCurrentX, 39 | targetCurrentY: targetCurrentY 40 | }) 41 | } 42 | 43 | function mouseup (e) { 44 | _this.setState({ 45 | targetSourceX: _this.state.targetCurrentX, 46 | targetSourceY: _this.state.targetCurrentY 47 | }) 48 | document.removeEventListener('mousemove', mousemove); 49 | document.removeEventListener('mouseup', mouseup); 50 | } 51 | } 52 | }, 53 | moveunderway: function (e) { 54 | var currentX = e.nativeEvent.changedTouches[0].pageX; 55 | var currentY = e.nativeEvent.changedTouches[0].pageY; 56 | var distanceX = currentX - this.state.startX; 57 | var distanceY = currentY - this.state.startY; 58 | var targetCurrentX = this.state.targetSourceX + distanceX; 59 | var targetCurrentY = this.state.targetSourceY + distanceY; 60 | this.setState({ 61 | targetCurrentX: targetCurrentX, 62 | targetCurrentY: targetCurrentY 63 | }) 64 | }, 65 | moveend: function (e) { 66 | this.setState({ 67 | targetSourceX: this.state.targetCurrentX, 68 | targetSourceY: this.state.targetCurrentY 69 | }) 70 | if (!this.state.isMobile) { 71 | var oTarget = this.refs.target; 72 | oTarget.removeEventListener('mousemove', this.moveunderway.bind(this)); 73 | oTarget.removeEventListener('mouseup', this.moveend.bind(this)); 74 | } 75 | }, 76 | render: function () { 77 | var targetStyle = { 78 | width: '100px', 79 | height: '100px', 80 | backgroundColor: 'orange', 81 | fontSize: '30px', 82 | color: '#ffffff', 83 | textAlign: 'center', 84 | lineHeight: '100px', 85 | position: 'relative', 86 | cursor: 'move', 87 | userSelect: 'none', 88 | left: `${this.state.targetCurrentX}px`, 89 | top: `${this.state.targetCurrentY}px` 90 | } 91 | return ( 92 |
REACT
98 | ) 99 | } 100 | }) 101 | 102 | ReactDOM.render(, document.querySelector('#content')) -------------------------------------------------------------------------------- /drag-by-react/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | react component 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | --------------------------------------------------------------------------------