EventListener使用element封装的兼容方法替代
This commit is contained in:
parent
054ed40e07
commit
8d505bc0a0
|
@ -7,6 +7,8 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { on, off } from 'element-ui/src/utils/dom'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'BackToTop',
|
name: 'BackToTop',
|
||||||
props: {
|
props: {
|
||||||
|
@ -45,10 +47,10 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
window.addEventListener('scroll', this.handleScroll)
|
on(window, 'scroll', this.handleScroll)
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
window.removeEventListener('scroll', this.handleScroll)
|
off(window, 'scroll', this.handleScroll)
|
||||||
if (this.interval) {
|
if (this.interval) {
|
||||||
clearInterval(this.interval)
|
clearInterval(this.interval)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import { debounce } from '@/utils'
|
import { debounce } from '@/utils'
|
||||||
|
import { on, off } from 'element-ui/src/utils/dom'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
|
@ -12,15 +13,15 @@ export default {
|
||||||
this.chart.resize()
|
this.chart.resize()
|
||||||
}
|
}
|
||||||
}, 100)
|
}, 100)
|
||||||
window.addEventListener('resize', this.__resizeHandler)
|
on(window, 'resize', this.__resizeHandler)
|
||||||
|
|
||||||
this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0]
|
this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0]
|
||||||
this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler)
|
on(this.$_sidebarElm && this.$_sidebarElm, 'transitionend', this.$_sidebarResizeHandler)
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
window.removeEventListener('resize', this.__resizeHandler)
|
off(window, 'resize', this.__resizeHandler)
|
||||||
|
|
||||||
this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler)
|
off(this.$_sidebarElm && this.$_sidebarElm, 'transitionend', this.$_sidebarResizeHandler)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// use $_ for mixins properties
|
// use $_ for mixins properties
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
<script>
|
<script>
|
||||||
import Dropzone from 'dropzone'
|
import Dropzone from 'dropzone'
|
||||||
import 'dropzone/dist/dropzone.css'
|
import 'dropzone/dist/dropzone.css'
|
||||||
|
import { on, off } from 'element-ui/src/utils/dom'
|
||||||
// import { getToken } from 'api/qiniu';
|
// import { getToken } from 'api/qiniu';
|
||||||
|
|
||||||
Dropzone.autoDiscover = false
|
Dropzone.autoDiscover = false
|
||||||
|
@ -145,7 +146,7 @@ export default {
|
||||||
})
|
})
|
||||||
|
|
||||||
if (this.couldPaste) {
|
if (this.couldPaste) {
|
||||||
document.addEventListener('paste', this.pasteImg)
|
on(document, 'paste', this.pasteImg)
|
||||||
}
|
}
|
||||||
|
|
||||||
this.dropzone.on('success', file => {
|
this.dropzone.on('success', file => {
|
||||||
|
@ -165,7 +166,7 @@ export default {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
document.removeEventListener('paste', this.pasteImg)
|
off(document, 'paste', this.pasteImg)
|
||||||
this.dropzone.destroy()
|
this.dropzone.destroy()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
// make search results more in line with expectations
|
// make search results more in line with expectations
|
||||||
import Fuse from 'fuse.js'
|
import Fuse from 'fuse.js'
|
||||||
import path from 'path'
|
import path from 'path'
|
||||||
|
import { on, off } from 'element-ui/src/utils/dom'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'HeaderSearch',
|
name: 'HeaderSearch',
|
||||||
|
@ -48,9 +49,9 @@ export default {
|
||||||
},
|
},
|
||||||
show(value) {
|
show(value) {
|
||||||
if (value) {
|
if (value) {
|
||||||
document.body.addEventListener('click', this.close)
|
on(document.body, 'click', this.close)
|
||||||
} else {
|
} else {
|
||||||
document.body.removeEventListener('click', this.close)
|
off(document.body, 'click', this.close)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -115,6 +115,8 @@ import language from './utils/language.js'
|
||||||
import mimes from './utils/mimes.js'
|
import mimes from './utils/mimes.js'
|
||||||
import data2blob from './utils/data2blob.js'
|
import data2blob from './utils/data2blob.js'
|
||||||
import effectRipple from './utils/effectRipple.js'
|
import effectRipple from './utils/effectRipple.js'
|
||||||
|
import { on, off } from 'element-ui/src/utils/dom'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
// 域,上传文件name,触发事件会带上(如果一个页面多个图片上传控件,可以做区分
|
// 域,上传文件name,触发事件会带上(如果一个页面多个图片上传控件,可以做区分
|
||||||
|
@ -839,15 +841,19 @@ export default {
|
||||||
that.$emit('crop-upload-fail', err, field, ki)
|
that.$emit('crop-upload-fail', err, field, ki)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
$_closeHandler(e) {
|
||||||
|
if (this.value && (e.key == 'Escape' || e.keyCode == 27)) {
|
||||||
|
this.off()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
// 绑定按键esc隐藏此插件事件
|
// 绑定按键esc隐藏此插件事件
|
||||||
document.addEventListener('keyup', (e) => {
|
on(document, 'keyup', this.$_closeHandler)
|
||||||
if (this.value && (e.key == 'Escape' || e.keyCode == 27)) {
|
},
|
||||||
this.off()
|
beforeDestroy() {
|
||||||
}
|
off(document, 'keyup', this.$_closeHandler)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { addClass, removeClass } from '@/utils'
|
import { addClass, removeClass } from '@/utils'
|
||||||
|
import { on, off } from 'element-ui/src/utils/dom'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'RightPanel',
|
name: 'RightPanel',
|
||||||
|
@ -58,13 +59,13 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
addEventClick() {
|
addEventClick() {
|
||||||
window.addEventListener('click', this.closeSidebar)
|
on(window, 'click', this.closeSidebar)
|
||||||
},
|
},
|
||||||
closeSidebar(evt) {
|
closeSidebar(evt) {
|
||||||
const parent = evt.target.closest('.rightPanel')
|
const parent = evt.target.closest('.rightPanel')
|
||||||
if (!parent) {
|
if (!parent) {
|
||||||
this.show = false
|
this.show = false
|
||||||
window.removeEventListener('click', this.closeSidebar)
|
off(window, 'click', this.closeSidebar)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
insertToBody() {
|
insertToBody() {
|
||||||
|
|
|
@ -12,6 +12,8 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { on, off } from 'element-ui/src/utils/dom'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Sticky',
|
name: 'Sticky',
|
||||||
props: {
|
props: {
|
||||||
|
@ -39,15 +41,15 @@ export default {
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.height = this.$el.getBoundingClientRect().height
|
this.height = this.$el.getBoundingClientRect().height
|
||||||
window.addEventListener('scroll', this.handleScroll)
|
on(window, 'scroll', this.handleScroll)
|
||||||
window.addEventListener('resize', this.handleResize)
|
on(window, 'resize', this.handleResize)
|
||||||
},
|
},
|
||||||
activated() {
|
activated() {
|
||||||
this.handleScroll()
|
this.handleScroll()
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
window.removeEventListener('scroll', this.handleScroll)
|
off(window, 'scroll', this.handleScroll)
|
||||||
window.removeEventListener('resize', this.handleResize)
|
off(window, 'resize', this.handleResize)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
sticky() {
|
sticky() {
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
import { on, off } from 'element-ui/src/utils/dom'
|
||||||
|
|
||||||
const vueSticky = {}
|
const vueSticky = {}
|
||||||
let listenAction
|
let listenAction
|
||||||
vueSticky.install = Vue => {
|
vueSticky.install = Vue => {
|
||||||
|
@ -78,11 +80,11 @@ vueSticky.install = Vue => {
|
||||||
check()
|
check()
|
||||||
}
|
}
|
||||||
|
|
||||||
window.addEventListener('scroll', listenAction)
|
on(window, 'scroll', listenAction)
|
||||||
},
|
},
|
||||||
|
|
||||||
unbind() {
|
unbind() {
|
||||||
window.removeEventListener('scroll', listenAction)
|
off(window, 'scroll', listenAction)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import './waves.css'
|
import './waves.css'
|
||||||
|
import { on, off } from 'element-ui/src/utils/dom'
|
||||||
|
|
||||||
const context = '@@wavesContext'
|
const context = '@@wavesContext'
|
||||||
|
|
||||||
|
@ -58,14 +59,14 @@ function handleClick(el, binding) {
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
bind(el, binding) {
|
bind(el, binding) {
|
||||||
el.addEventListener('click', handleClick(el, binding), false)
|
on(el, 'click', handleClick(el, binding), false)
|
||||||
},
|
},
|
||||||
update(el, binding) {
|
update(el, binding) {
|
||||||
el.removeEventListener('click', el[context].removeHandle, false)
|
off(el, 'click', el[context].removeHandle, false)
|
||||||
el.addEventListener('click', handleClick(el, binding), false)
|
on(el, 'click', handleClick(el, binding), false)
|
||||||
},
|
},
|
||||||
unbind(el) {
|
unbind(el) {
|
||||||
el.removeEventListener('click', el[context].removeHandle, false)
|
off(el, 'click', el[context].removeHandle, false)
|
||||||
el[context] = null
|
el[context] = null
|
||||||
delete el[context]
|
delete el[context]
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
<script>
|
<script>
|
||||||
import ScrollPane from './ScrollPane'
|
import ScrollPane from './ScrollPane'
|
||||||
import path from 'path'
|
import path from 'path'
|
||||||
|
import { on, off } from 'element-ui/src/utils/dom'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: { ScrollPane },
|
components: { ScrollPane },
|
||||||
|
@ -55,9 +56,9 @@ export default {
|
||||||
},
|
},
|
||||||
visible(value) {
|
visible(value) {
|
||||||
if (value) {
|
if (value) {
|
||||||
document.body.addEventListener('click', this.closeMenu)
|
on(document.body, 'click', this.closeMenu)
|
||||||
} else {
|
} else {
|
||||||
document.body.removeEventListener('click', this.closeMenu)
|
off(document.body, 'click', this.closeMenu)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import store from '@/store'
|
import store from '@/store'
|
||||||
|
import { on, off } from 'element-ui/src/utils/dom'
|
||||||
|
|
||||||
const { body } = document
|
const { body } = document
|
||||||
const WIDTH = 992 // refer to Bootstrap's responsive design
|
const WIDTH = 992 // refer to Bootstrap's responsive design
|
||||||
|
@ -12,10 +13,10 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeMount() {
|
beforeMount() {
|
||||||
window.addEventListener('resize', this.$_resizeHandler)
|
on(window, 'resize', this.$_resizeHandler)
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
window.removeEventListener('resize', this.$_resizeHandler)
|
off(window, 'resize', this.$_resizeHandler)
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
const isMobile = this.$_isMobile()
|
const isMobile = this.$_isMobile()
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import { debounce } from '@/utils'
|
import { debounce } from '@/utils'
|
||||||
|
import { on, off } from 'element-ui/src/utils/dom'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
|
@ -35,10 +36,10 @@ export default {
|
||||||
}, 100)()
|
}, 100)()
|
||||||
},
|
},
|
||||||
$_initResizeEvent() {
|
$_initResizeEvent() {
|
||||||
window.addEventListener('resize', this.$_resizeHandler)
|
on(window, 'resize', this.$_resizeHandler)
|
||||||
},
|
},
|
||||||
$_destroyResizeEvent() {
|
$_destroyResizeEvent() {
|
||||||
window.removeEventListener('resize', this.$_resizeHandler)
|
off(window, 'resize', this.$_resizeHandler)
|
||||||
},
|
},
|
||||||
$_sidebarResizeHandler(e) {
|
$_sidebarResizeHandler(e) {
|
||||||
if (e.propertyName === 'width') {
|
if (e.propertyName === 'width') {
|
||||||
|
@ -47,10 +48,10 @@ export default {
|
||||||
},
|
},
|
||||||
$_initSidebarResizeEvent() {
|
$_initSidebarResizeEvent() {
|
||||||
this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0]
|
this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0]
|
||||||
this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler)
|
on(this.$_sidebarElm && this.$_sidebarElm, 'transitionend', this.$_sidebarResizeHandler)
|
||||||
},
|
},
|
||||||
$_destroySidebarResizeEvent() {
|
$_destroySidebarResizeEvent() {
|
||||||
this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler)
|
off(this.$_sidebarElm && this.$_sidebarElm, 'transitionend', this.$_sidebarResizeHandler)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -76,6 +76,8 @@
|
||||||
<script>
|
<script>
|
||||||
import { validUsername } from '@/utils/validate'
|
import { validUsername } from '@/utils/validate'
|
||||||
import SocialSign from './components/SocialSignin'
|
import SocialSign from './components/SocialSignin'
|
||||||
|
// eslint-disable-next-line
|
||||||
|
import { on, off } from 'element-ui/src/utils/dom'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Login',
|
name: 'Login',
|
||||||
|
@ -125,7 +127,7 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
// window.addEventListener('storage', this.afterQRScan)
|
// on(window, 'storage', this.afterQRScan)
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
if (this.loginForm.username === '') {
|
if (this.loginForm.username === '') {
|
||||||
|
@ -135,7 +137,7 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
// window.removeEventListener('storage', this.afterQRScan)
|
// off(window, 'storage', this.afterQRScan)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
checkCapslock({ shiftKey, key } = {}) {
|
checkCapslock({ shiftKey, key } = {}) {
|
||||||
|
|
Loading…
Reference in New Issue