我有一个文本框,我想使用按键事件将该值限制为最大值

我尝试下面的代码,它的工作正常

function validateRange(ele) {
    if(ele.val() < 0 || ele.val() > 100){
        console.log('false');
    }else{
        console.log('true');
    }
}
$('.digit-validation').keyup(function(event){
    validateRange($(this));
});

HTML:
<form:input type="text" path="depth" cssClass="number inplace-textbox digit-validation" data-min="0" size="10" />

我想if(ele.val() < 0 || ele.val() > 100)是停止按键。

更新:我正在尝试进行值范围验证。

最佳答案

我建议您尝试使用HTML5的input类型number以及minmax属性:

<input type="number" min="0" max="100" />

JS Fiddle demo

这允许用户直接输入数字(使用键盘或复制/粘贴),并允许使用step属性控制增量(例如, step="2" 允许每次点击以下内容以2为增量或减量)微调箭头)。

但是,如果必须使用非数字input:
Number.prototype.between  = function (a, b, inclusive) {
    var min = Math.min.apply(Math, [a,b]),
        max = Math.max.apply(Math, [a,b]);
    return inclusive ? this >= min && this <= max : this > min && this < max;
};

$('.digit-validation').keydown(function(event){
    var v = parseFloat(this.value + String.fromCharCode(event.which));
    return parseFloat(v).between(0,100,true);
});

JS Fiddle demo

07-24 09:30