Javascript Vuetify Vue-始终侦听滑动事件,但仅返回一次值

Javascript Vuetify Vue-始终侦听滑动事件,但仅返回一次值,javascript,html,vue.js,vuetify.js,Javascript,Html,Vue.js,Vuetify.js,我为该项目安装了vuetify插件,以便使用colorpicker插件。由于特殊要求,我需要手动更改插件的功能和样式 该插件有一个滚动条,每次滑动按钮时,它都会返回当前的颜色十六进制值 现在,我需要使其可滑动,但只有当我放开时才返回当前颜色值 我该怎么办 下面是如何收听滚动事件 if ('touches' in e) { this.app.addEventListener('touchmove', this.onMouseMove, mouseMoveOptions);//滑动

我为该项目安装了vuetify插件,以便使用colorpicker插件。由于特殊要求,我需要手动更改插件的功能和样式

该插件有一个滚动条,每次滑动按钮时,它都会返回当前的颜色十六进制值

现在,我需要使其可滑动,但只有当我放开时才返回当前颜色值

我该怎么办

下面是如何收听滚动事件

  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
  };
},
onMouseMove:onMouseMove(e)函数{
var value=this.parseMouseMove(e).value;
这个值=值;
},
parseMouseMove:函数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=开始,
trackStart=\u a[\u b],
_c=长度,
轨迹长度=_a[_c];
var clickOffset='touchs'在e?e.touchs[0][click]:e[click];//我们可以去掉这里的任何内容吗?
//左有可能是NaN,强制是数字
var clickPos=Math.min(Math.max((clickOffset-trackStart)/trackLength,0),1)| | 0;
如果(此垂直)clickPos=1-clickPos;
如果(此.$vuetify.rtl)clickPos=1-clickPos;

var isInsideTrack=clickOffset>=trackStart&&clickOffset如果您使用的是Vue.js,我建议您在
部分中使用Vue.js“事件处理”,而不是
addEventListener
,例如:

<div
  @mousedown="moveStartMethod($event)"
  @mousemove.prevent="moveMotionMethod"
  @mouseup="moveEndMethod"
>
</div>
更多信息:并搜索“处理鼠标修改器”部分

moveStartMethod: function (event) {
  ...
},