fix(elements): select not working for desktop

This commit is contained in:
redhoodsu
2019-10-08 10:06:18 +08:00
parent c4d984d558
commit b2437912f0

View File

@@ -1,4 +1,4 @@
import { Emitter, isErudaEl } from '../lib/util'
import { Emitter, isErudaEl, isMobile } from '../lib/util'
export default class Select extends Emitter {
constructor() {
@@ -32,8 +32,13 @@ export default class Select extends Emitter {
function addEvent(type, listener) {
document.body.addEventListener(type, listener, true)
}
addEvent('touchstart', this._startListener)
addEvent('touchmove', this._moveListener)
if (isMobile()) {
addEvent('touchstart', this._startListener)
addEvent('touchmove', this._moveListener)
} else {
addEvent('mousedown', this._startListener)
addEvent('mousemove', this._moveListener)
}
addEvent('click', this._clickListener)
return this
@@ -42,8 +47,13 @@ export default class Select extends Emitter {
function rmEvent(type, listener) {
document.body.removeEventListener(type, listener, true)
}
rmEvent('touchstart', this._startListener)
rmEvent('touchmove', this._moveListener)
if (isMobile()) {
rmEvent('touchstart', this._startListener)
rmEvent('touchmove', this._moveListener)
} else {
rmEvent('mousedown', this._startListener)
rmEvent('mousemove', this._moveListener)
}
rmEvent('click', this._clickListener)
return this