Jquery 为什么值在同一输入中不是串行的

Jquery 为什么值在同一输入中不是串行的,jquery,input,Jquery,Input,我想增加和减少输入元素中的价格函数 我几乎完成了,但我现在发现了一个问题,当我直接用键盘更改价格,然后我点击箭头向上或向下,值是非序列。 *{ margin: 0; padding: 0; } .wrap { position: relative; } .input{ width: 200px; height: 50px; } i { font-size: 18px; font-weight: 700; cursor: pointer; } 将此添加到JavaS

我想增加和减少输入元素中的价格函数

我几乎完成了,但我现在发现了一个问题,当我直接用键盘更改价格,然后我点击箭头向上或向下,值是非序列。

*{
  margin: 0;
  padding: 0;
}
.wrap {
  position: relative;
}
.input{
  width: 200px;
  height: 50px;
}
i {
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
}

将此添加到JavaScript中

input.on("keyup", function(){
  val = Number(input.val());
});
您的变量仅通过按下按钮进行更新,但您也希望在用户更改值时进行更新


是的,当第一页加载时,您会得到原始编号。 您应该从事件呼叫中获取

只需将
val=parseFloat($('.input').val())
放入回调
plus.on('mousedown',function(){…}

在这里查看JS小提琴。

您所说的“是串行的”是什么意思?如果我输入2,然后单击加号,该值将变为其他值
var input = $('.input'),
val = parseFloat($('.input').val()),
plus = $('.plus'),
minus = $('.minus');

    plus.on('mousedown', function(){
        input.val(++val);
        if(val > 10) { alert('hi'); }
    });
    minus.on('mousedown', function(){
        input.val(--val);
        if(val > 10) { alert('hi'); }
    });
    input.on('change', function(){
        var $this = $(this);
        if($this.val() > 10) { alert('hi'); }
    })
input.on("keyup", function(){
  val = Number(input.val());
});