update
parent
189253f2df
commit
4e1d3ea10b
|
@ -4,14 +4,47 @@
|
||||||
* @date 2019/08/21 17:28:40
|
* @date 2019/08/21 17:28:40
|
||||||
*/
|
*/
|
||||||
|
|
||||||
"use strict";
|
'use strict'
|
||||||
|
|
||||||
export default Drag {
|
import { bind, unbind } from '../utils'
|
||||||
|
|
||||||
|
const log = console.log
|
||||||
|
|
||||||
|
const DEF_OPT = {
|
||||||
|
axis: '', // x | y | xy 拖拽方向
|
||||||
|
limit: false, // false | window | parent 拖拽范围
|
||||||
|
overflow: true // 是否可拖拽出可视区外
|
||||||
|
}
|
||||||
|
|
||||||
|
export default class Drag {
|
||||||
constructor(elem) {
|
constructor(elem) {
|
||||||
this.$elem = elem
|
this.$elem = elem
|
||||||
}
|
}
|
||||||
|
|
||||||
by(node){
|
// drag by
|
||||||
|
by(node, opt = {}) {
|
||||||
|
this.$drag = node
|
||||||
|
this.opt = Object.assign(Object.create(null), DEF_OPT, opt)
|
||||||
|
|
||||||
|
//
|
||||||
|
if (this.opt.limit !== false) {
|
||||||
|
this.opt.overflow = false
|
||||||
|
}
|
||||||
|
|
||||||
|
// 鼠标状态图标
|
||||||
|
var ico = document.documentMode ? 'move' : 'grab'
|
||||||
|
if (window.sidebar) {
|
||||||
|
ico = '-moz-' + ico
|
||||||
|
} else {
|
||||||
|
ico = '-webkit-' + ico
|
||||||
|
}
|
||||||
|
this.$drag.style.cursor = ico
|
||||||
|
|
||||||
|
bind(this.$drag, 'mousedown', ev => {
|
||||||
|
var bcr = this.$elem.getBoundingClientRect()
|
||||||
|
log(bcr)
|
||||||
|
})
|
||||||
|
|
||||||
|
return this
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -112,7 +112,7 @@
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import '../drag/index'
|
import Drag from '../drag/core'
|
||||||
|
|
||||||
import { nextTick, bind, unbind, clickOutside } from '../utils'
|
import { nextTick, bind, unbind, clickOutside } from '../utils'
|
||||||
|
|
||||||
|
@ -634,6 +634,7 @@ const _layer = {
|
||||||
l.setAttribute('mask', '')
|
l.setAttribute('mask', '')
|
||||||
l.innerHTML = '<p>ffdfdffd</p>'
|
l.innerHTML = '<p>ffdfdffd</p>'
|
||||||
document.body.appendChild(l)
|
document.body.appendChild(l)
|
||||||
|
new Drag(l.root.children[1]).by(l.__TITLE__)
|
||||||
return _layer.open(opt)
|
return _layer.open(opt)
|
||||||
},
|
},
|
||||||
confirm(content, title, yescb, nocb) {
|
confirm(content, title, yescb, nocb) {
|
||||||
|
|
Reference in New Issue