Bonjour,
Je recontre un problème avec jquery et la définition de méthodes à la classe Object.
Voici ici un jsfiddle (Il vous faudra demander a firebug de continuer le script si comme moi il s'arrête sur chaque erreur)
et le code :
#block {width:100px;height:100px;background:green;}
1 2 3 4 5 6 7 8 9 10
| Number.prototype.round = function(n){ return parseFloat(this.toFixed(n)) }
Object.prototype.isInt = function(){ return this instanceof Number && /^\d+$/.test(this.toString()) }
$(document).ready(function()
{
// alert((3).isInt());
$("div#block").css("background","red")
$("div#block").slideUp();
}) |
Le problème est que les fonctions d'animations de jQuery (sliding et animate) ne fonctionne plus, j'ai cette erreur :
TypeError: [].concat is not a function
- Même sans faire appel à la méthode isInt, j'ai l'erreur
- En commentant la ligne de la définition isInt , je n'ai plus d'erreur
- Une définition de méthode à une classe hérité de Object ne donne pas d'erreur.
D'ou pourrais venir ce problème ? Existe t-il une incompatibilité entre jquery et l'attribut prototype de Object, ou y a t-il quelque chose que je fait mal ou n'est pas compris ?
Merci d'avance pour le coup de main !
Partager