是否可以区分输入类型编号的事件上/下按钮?
我了解到有一个change
事件,但是我想知道是否可以通过按下向上/向下按钮来识别不同的事件。
我会更加清楚:
<input class="form-control" id="field" type="number" min="1" value="<VALUE>" onkeydown="return false">
$("#field").change(function(e){ ... }
我想要什么:
$("#field").onUpPressed(function(e){ ... }
$("#field").onDownPressed(function(e){ ... }
答案 0 :(得分:2)
没有默认事件。要使其正常工作,您需要存储先前的值(可以使用data
属性),然后将其与新值进行比较,如下所示:
var $field = $("#field").on('input', function(e) {
var newVal = parseInt($field.val(), 10);
var oldVal = $field.data('old');
console.log(newVal > oldVal ? 'up' : 'down');
$field.data('old', newVal);
});
$field.data('old', $field.val());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input class="form-control" id="field" type="number" min="1" value="<VALUE>" onkeydown="return false">