Html 反转数步进器

Html 反转数步进器,html,input,Html,Input,有没有办法反转HTML5数字步进器,以便按下使数字变大,反之亦然 要解决任何“为什么”评论,请执行以下操作: 运动中的击球顺序,如板球或棒球。如果按顺序下移,击球位置会变大。这里有一个使用jQuery的快速方法,因为您的示例使用了它: $(document).ready(function(){ var step=$('#batpos1'); var o=+step.val(); step.change(function(){ var n=+step.val

有没有办法反转HTML5数字步进器,以便按下使数字变大,反之亦然

要解决任何“为什么”评论,请执行以下操作:
运动中的击球顺序,如板球或棒球。如果按顺序下移,击球位置会变大。

这里有一个使用jQuery的快速方法,因为您的示例使用了它:

$(document).ready(function(){
    var step=$('#batpos1');
    var o=+step.val();
    step.change(function(){
        var n=+step.val();
        if(n===o+1){
            --o;
        }else if(n===o-1){
            ++o;
        }else{
            o=n;
        }
        step.val(o);
    });
});

请注意,它也适用于键盘箭头键,但也适用于手动键入数据的情况。现在我不确定如何避免这种情况,但如果我找到解决方案,我会更新。一个粗略的选择是监听点击,只有在点击后±0.05秒内发生变化时才应用该选项。

附加一个事件监听器,该监听器会根据按键代码更改输入的.val,然后根据元素的步长递增。我认为这对用户来说仍然是违反直觉的,但是如果你真的想,可以使用JavaScript键事件侦听器和preventDefault。@EricHotinger我对JavaScript的理解非常肤浅,因此你必须进行更详细的解释。@Dave认为我是唯一使用它的人,这不会违反直觉。请解释一下further@user1672694-我马上就要睡觉了,所以我不会完整回答这个问题。如果早上没有答案,我会发布一个。-当手动键入数据时也适用。你的意思是什么?键入1,然后按enter键。它将更改为-1Ok。似乎只适用于1和-1。任何大于或小于当前值1的数字都将被交换。如果new value=old value+1,设置为old value-1,等等,我编写的逻辑就是这样工作的。