如何让这个函数在旧的jquery上运行?

时间:2016-03-25 22:16:53

标签: jquery

将它与jquery 1.6.4一起使用它不起作用,使用较新的版本它可以正常工作。 因为我使用较旧的jquery版本,我收到错误

  

TypeError:$(...)。on不是函数

http://jsfiddle.net/w0jekdL6/18/

$(".amount").on("keyup", function(){
    var valid = /^\d{0,5}(\.\d{0,2})?$/.test(this.value),
        val = this.value;
    var pos = this.selectionStart - 1;

    if(!valid){
        if(typeof this.lastValid != "undefined") {
            this.value = this.lastValid
            this.setSelectionRange(pos, pos);
        } else {
            this.value = "";
        }
    } else {
        this.lastValid = val;
    }
});

2 个答案:

答案 0 :(得分:1)

使用.keyup()代替.on() :(根据the docs这也适用于新版本的jQuery)

$(".amount").keyup(function(){
    var valid = /^\d{0,5}(\.\d{0,2})?$/.test(this.value),
        val = this.value;
    var pos = this.selectionStart - 1;

    if(!valid){
        if(typeof this.lastValid != "undefined") {
            this.value = this.lastValid
            this.setSelectionRange(pos, pos);
        } else {
            this.value = "";
        }
    } else {
        this.lastValid = val;
    }
});

jQuery的.on()仅在版本1.7中添加

答案 1 :(得分:0)

我相信这会奏效 - 请参阅jQuery Docs

$(".amount").keyup(function () {...});