我希望能够设置滑块值而不会触发更新事件。我尝试在set函数中设置第二个参数(fireSetEvent),但这不起作用。

nouiContrast = document.getElementById('nouiContrast');
noUiSlider.create(nouiContrast, {
  start: 0,
  step: 0.01,
  behaviour: 'tap',
  connect: [true, false],
  range: {
    'min': 0,
    'max': 1
  }
});
nouiContrast.noUiSlider.on('update', function(values, handle) {
  applyFilterValue(6, 'contrast', values[handle]);
});

//....

nouiContrast.noUiSlider.set(val, false);

最佳答案

如果仅在用户拖动滑块时才要处理更新,而在代码设置更新时不希望处理更新,则可以侦听slide事件。

从文档:


  当您特别想听被拖动的句柄但想忽略滑块值的其他更新时,此事件很有用。此事件也会通过“点击”触发更改。在大多数情况下,update是更好的选择。


nouiContrast = document.getElementById('nouiContrast');
noUiSlider.create(nouiContrast, {
  start: 0,
  step: 0.01,
  behaviour: 'tap',
  connect: [true, false],
  range: {
    'min': 0,
    'max': 1
  }
});
nouiContrast.noUiSlider.on('slide', function(values, handle) {
  applyFilterValue(6, 'contrast', values[handle]);
});

//....

nouiContrast.noUiSlider.set(val, false);

09-19 01:51