diff --git a/src/Elements/Select.js b/src/Elements/Select.js index 569dcc8..a7062f8 100644 --- a/src/Elements/Select.js +++ b/src/Elements/Select.js @@ -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