簡體   English   中英

數字輸入快捷鍵遞增和遞減

[英]Number input shortcut key incrementers and decrementers

有沒有一種方法可以檢測數字字段中的值是何時增加或減少? 我想確定是否要增加或減去額外的數量,例如,狗屎是下降的,如果增加等,則為+5。

我有:

var oldVal = input.val();
input.change(function() {
    var newVal = input.val();
    if (newVal > oldVal) {
        if (shiftIsDown) {
            input.val(parseInt(input.val()) + 5);
        }
    }
    if (newVal < oldVal) {
        if (shiftIsDown) {
            input.val(parseInt(input.val()) - 5);
        }
    }
    oldVal = newVal;
})

但是它的行為很奇怪,並且不能真正起作用。

嘗試類似

var oldVal = input.val();
input.change(function(e) {
 var newVal = input.val();
 var shiftIsDown = e.shiftKey ? true : false;
 if(shiftIsDown) {
    if(newVal > oldVal)
        input.val(parseInt(input.val()) + 5);
    else if (newVal < oldVal)
        input.val(parseInt(input.val()) - 5);
 }
 oldVal = newVal;
})

假設input是一個jquery對象。

看這個小提琴

var input = $("#input");
var oldVal = input.val();
var newVal = input.val();

input.keyup(function () {
    oldVal = newVal;
    newVal = input.val();
});

$(document).keydown(function (e) {
    if (e.keyCode == 16) {
            if (newVal > oldVal) {
            input.val(parseInt(input.val()) + 5);
    }
    if (newVal < oldVal) {
            input.val(parseInt(input.val()) - 5);
    }
    }
});

鍵盤功能用於監聽輸入更改

keydown功能適用於下移監聽- (e.keyCode == 16)等於按下shift事件,因此當您按下shift時,輸入值正在改變

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM