我一直在研究一个项目,我需要一个数字输入,一个滑块在这里看到小提琴http://jsfiddle.net/Dt7Ka/116/
<h2>Slider Demo</h2>
RAM: <input type="number" data-bind="value: ram, valueUpdate: 'afterkeydown', attr: {max: 8192, min: 512, step: 1}" />
<div style="margin: 10px" data-bind="slider: ram, sliderOptions: {min: 512, max: 8192, range: 'min', step: 1}"></div>
如果有人想要手动输入一个数字(比如说2048),我发现淘汰赛会出现过度杀伤并阻止我正确输入2048.
建议?
答案 0 :(得分:7)
这是因为你设置了valueUpdate: 'afterkeydown'
。这会导致绑定在每次按下某个键时尝试更新,并且由于您的最小值为512
,因此尝试输入值2
将会失败。
您无法输入2048
,因为它会尝试在第一个键之后更新。如果你只是采取我们的那部分绑定它将工作正常。
<input type="number" data-bind="value: ram, attr: {max: 8192, min: 512, step: 1}" />