2016-03-25 16 views
0

Mit jquery 1.6.4 funktioniert es nicht, mit den neueren Versionen funktioniert es gut. becasue Ich verwende eine ältere Version jquery ich FehlerWie kann ich diese Funktion an alten Jquery arbeiten lassen?

TypeError: $(…).on is not a function

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; 
    } 
}); 
+1

Die wirkliche Antwort ist zu verwenden, um eine neuere Version von jQuery, gibt es keinen Grund, nur hinzugefügt, um eine Version zu verwenden, die mehrere Jahre alt. – adeneo

+0

Ich habe es versucht, aber leider bricht es andere Sachen –

+0

Dann sollten Sie wahrscheinlich auch die anderen Sachen zu neueren Sachen ersetzen. – adeneo

Antwort

1

Verwenden .keyup() statt .on() : (nach the docs wird dies a lso Arbeit für die neuen Versionen von 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() Jahren wurde in Version 1.7

0

ich das glauben funktioniert - siehe jQuery Docs

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

Verwandte Themen