我為該項目安裝了 vuetify 插件,以便使用 colorpicker 插件。由于特殊需求,我需要手動更改插件的功能和風格。該插件有一個滾動條,每次滑動按鈕時,它都會返回當前顏色的十六進制值?,F在我需要使其可滑動,但僅在松開時返回當前顏色值。我應該怎么辦?以下是監聽滾動事件的方法 if ('touches' in e) { this.app.addEventListener('touchmove', this.onMouseMove, mouseMoveOptions);//滑動 Object(_util_helpers__WEBPACK_IMPORTED_MODULE_6__["addOnceEventListener"])(this.app, 'touchend', this.onSliderMouseUp, mouseUpOptions); } else { this.app.addEventListener('mousemove', this.onMouseMove, mouseMoveOptions); Object(_util_helpers__WEBPACK_IMPORTED_MODULE_6__["addOnceEventListener"])(this.app, 'mouseup', this.onSliderMouseUp, mouseUpOptions); }//addEventListener is a custom function,listener event just once.當滑塊移動時 onMouseMove: function onMouseMove(e) { var value = this.parseMouseMove(e).value; this.internalValue = value; },parseMouseMove: function parseMouseMove(e) { var start = this.vertical ? 'top' : 'left'; var length = this.vertical ? 'height' : 'width'; var click = this.vertical ? 'clientY' : 'clientX'; var _a = this.$refs.track.getBoundingClientRect(), _b = start, trackStart = _a[_b], _c = length, trackLength = _a[_c]; var clickOffset = 'touches' in e ? e.touches[0][click] : e[click]; // Can we get rid of any here? // It is possible for left to be NaN, force to number var clickPos = Math.min(Math.max((clickOffset - trackStart) / trackLength, 0), 1) || 0; if (this.vertical) clickPos = 1 - clickPos; if (this.$vuetify.rtl) clickPos = 1 - clickPos; var isInsideTrack = clickOffset >= trackStart && clickOffset <= trackStart + trackLength; var value = parseFloat(this.min) + clickPos * (this.maxValue - this.minValue); return { value: value, isInsideTrack: isInsideTrack };},
Vuetify Vue - 始終監聽滑動事件,但只返回一次值
慕少森
2023-07-14 10:42:09