4

我一直在做一个项目,我需要一个数字输入和一个滑块,请参见这里的小提琴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。

建议?

4

1 回答 1

7

那是因为你已经valueUpdate: 'afterkeydown'设置好了。这会导致绑定在每次按下键时尝试更新,并且由于您有 min of 512,因此尝试输入值 of2将失败。

您无法输入2048,因为它会在第一个键之后尝试更新。如果您只使用我们绑定的那一部分,它将正常工作。

<input type="number" data-bind="value: ram, attr: {max: 8192, min: 512, step: 1}" />

http://jsfiddle.net/Dt7Ka/118/

于 2013-07-24T18:20:31.723 回答