Merge pull request #1559 from Leopoldthecoder/slider-click

Slider: avoid clicking triggering right after dragend
pull/1581/head
baiyaaaaa 2016-12-06 16:56:28 +08:00 committed by GitHub
commit 8fe68e5385
1 changed files with 8 additions and 2 deletions

View File

@ -157,7 +157,7 @@
},
onSliderClick(event) {
if (this.disabled) return;
if (this.disabled || this.dragging) return;
const sliderOffsetLeft = this.$refs.slider.getBoundingClientRect().left;
this.setPosition((event.clientX - sliderOffsetLeft) / this.$sliderWidth * 100);
},
@ -189,7 +189,13 @@
onDragEnd() {
if (this.dragging) {
this.dragging = false;
/*
* 防止在 mouseup 后立即触发 click导致滑块有几率产生一小段位移
* 不使用 preventDefault 是因为 mouseup click 没有注册在同一个 DOM
*/
setTimeout(() => {
this.dragging = false;
}, 0);
this.$refs.tooltip.showPopper = false;
this.setPosition(this.newPos);
window.removeEventListener('mousemove', this.onDragging);