单击并拖动时,范围滑块输入功能不会执行

时间:2018-06-11 20:15:58

标签: javascript rangeslider

我有一个简单的范围滑块,定义如下:

var panControl = document.querySelector('.panning-control');

在Javascript标签中我声明

panControl.oninput = function() {
  //a bunch of irrelevant computations involving panControl.value
}

然后具有以下oninput功能:

db.test.find({$expr: {$eq: [1, {$mod: ['$ts', N]}]}})

问题在于,当我快速点击并拖动滑块时,oninput功能不会针对每个步骤执行[&f;]。例如,如果我单击并将滑块从0拖动到50,oninput函数理论上应该执行50次,因为step = 1并且滑块从0变为50.现在,如果单击并拖动滑块,它会跳过执行从大多数步骤开始的函数,以及我在输入中使用错误数字完成的计算,因为函数的每次执行都取决于从上次执行完成的计算。如果我只是单击滑块一次,然后使用向左和向右箭头键增加和减少滑块,它确实有效。有人有解决方案吗?我可以使用另一个旋钮/控制包吗?

1 个答案:

答案 0 :(得分:-1)

尝试使用addEventListener(事件,处理程序,气泡)方法



  <input class="panning-control" type="range" min="0" max="100" step="1" value="0" />
<span class="output"></span>
&#13;
python -V
Python 2.7.15

echo $PATH
... /usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin ...
&#13;
&#13;
&#13;