|
@@ -1,13 +1,14 @@
|
|
|
import Vue from 'vue'
|
|
|
|
|
|
+let timerId = null
|
|
|
+let isShowTitle = false
|
|
|
+let titleNode = null
|
|
|
+
|
|
|
Vue.directive('title', {
|
|
|
bind: function (el, binding) {
|
|
|
if (!binding.value) {
|
|
|
return
|
|
|
}
|
|
|
- let timerId = null
|
|
|
- let isShowTitle = false
|
|
|
- let titleNode = null
|
|
|
el.addEventListener('mousemove', function(e) {
|
|
|
if (!isShowTitle) {
|
|
|
clearTimeout(timerId)
|
|
@@ -42,9 +43,7 @@ Vue.directive('title', {
|
|
|
passive: false,
|
|
|
})
|
|
|
el.addEventListener('mouseleave', function () {
|
|
|
- console.log('mouseleave');
|
|
|
if (!isShowTitle) {
|
|
|
- console.log('还没显示');
|
|
|
clearTimeout(timerId)
|
|
|
} else {
|
|
|
isShowTitle = false
|
|
@@ -52,12 +51,9 @@ Vue.directive('title', {
|
|
|
}
|
|
|
})
|
|
|
el.addEventListener('mousedown', function () {
|
|
|
- console.log('mousedown');
|
|
|
if (!isShowTitle) {
|
|
|
- console.log('还没显示!');
|
|
|
clearTimeout(timerId)
|
|
|
} else {
|
|
|
- console.log('已经显示!');
|
|
|
isShowTitle = false
|
|
|
document.body.removeChild(titleNode)
|
|
|
}
|
|
@@ -78,16 +74,20 @@ Vue.directive('title', {
|
|
|
document.body.removeChild(titleNode)
|
|
|
}
|
|
|
})
|
|
|
+ el.addEventListener('dragover', function () {
|
|
|
+ if (!isShowTitle) {
|
|
|
+ clearTimeout(timerId)
|
|
|
+ } else {
|
|
|
+ isShowTitle = false
|
|
|
+ document.body.removeChild(titleNode)
|
|
|
+ }
|
|
|
+ })
|
|
|
el.addEventListener('dragleave', function () {
|
|
|
- console.log('dragleave');
|
|
|
if (!isShowTitle) {
|
|
|
- console.log('还没显示');
|
|
|
clearTimeout(timerId)
|
|
|
} else {
|
|
|
- setTimeout(() => {
|
|
|
- isShowTitle = false
|
|
|
- document.body.removeChild(titleNode)
|
|
|
- }, 1000);
|
|
|
+ isShowTitle = false
|
|
|
+ document.body.removeChild(titleNode)
|
|
|
}
|
|
|
})
|
|
|
},
|