bonjour
dans le cadre d'une page dite "RIA" basé sur jQuery 1.7
j'ai un bloc constitué d'element drag n drop.
Mon idée consiste à utiliser le DOMElement de ce bloc et lui affecter des fonctions métier supplémentaires.
Pour cela j'ai créé une classe BlocManager telle que :
sous Firefox et Chrome,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 var mon_ns = {}; mon_ns.BlocManager = function(DOMElement) { // intégration du DOm element dans l'objet instancié $.extend(this, DOMElement); this.doSomething = function(){ var child = this.find('#otherElement').show(); ... }; }; var myobject = new mon_ns.BlocManager($('#leBloc')); myobject.doSomething();
myobject est bien un objet jQuery qui référence le bloc, qui possède en plus la fonction doSomething().
Dans doSomething(), this.find est equivalent à $.find(), donc child est aussi un objet jQuery.
Jusque la c'est impeccable.
En revanche sous IE8, si je fais un console.log() de this.find(...)
il y a une erreur :1. auriez-vous une piste de solution compatible ?"cet objet ne gère pas cette propriété ou cette méthode".
1. jquery.extend() a til un bug connu sous IE8 ?
2. la creation d'un vrai plugin jQuery est elle la solution ?
genre $('#leBloc').BlocManager();
merci
Partager