Buonasera a tutti,
sto cercando di modificare una vecchia funzione e renderla compatibile con lo strict mode e con jquery 3.3, ma sto trovando parecchie difficoltà, sapreste darmi una mano?
Una parte della vecchia funzione:
codice:
var num_modali = 0;
_modale = function(){
//setta il livello prendendolo dal numero attuale di modali aperte
this.livello_m = num_modali;
//setta il percorso
this.percorso = function(){
return (this.livello_m > 0) ? $('body').find('#modale_' + this.livello_m).find(modale_content) : $('body');
};
//setta le liste record
this.listarecord = function(){
return lista_record = (this.livello_m > 0) ? '#lista_records_modale' : '#lista_records';
};
//scala di un livello
this._pre = function(){
this.livello_m-- ;
return this;
};
//restituisce il selettore
this._go = function(){
return this.percorso();
};
.......
Una parte della nuova:
codice:
var num_modale = 0;
var modale = {
percorso: function(){
return (modale.num_modali > 0) ? 'body #modale_' + modale.num_modali + ' .modale_content' : 'body';
},
listaRecord: function(){
return (num_modali > 0) ? '#lista_records_modale' : '#lista_records';
},
pre: function(){
return num_modale-- ;
},
go: function(){
return this.percorso();
},
......
Ora la prima cosa che non riesco a fare � la concatenazione di chiamate, ovvero, nella vecchia funzione potevo chiamare per es. _modale()._pre()._pre()._go() e ottenevo quello che volevo, ora invece non riesco ad ottenere la stessa cosa, quindi se faccio per es. modale.pre().pre().go() mi restituisce pre is not a function
Questo è il primo ostacolo, la vecchia chiamata _modale()._pre()._pre()._go() mi avrebbe restituito, partendo dal livello attuale per es. 3, dove in questo caso il selettore sarebbe #modale_2, con il primo pre scendrebbe di uno, con il secondo di 2 ed avrei il selettore body ovviamente atraverso le altre chiamate, quindi pre() -1 (sulla base del livello attuale), pre() -1 (come prima), go() che richiama percorso che a questo punto utilizza il valore modificato, se fosse come nell'esempio precedente 2, avrei 0, ovvero la "root" della pagina quindi body e si comporterebbe di conseguenza.
Spero di essermi spiegato perchè sò che non è semplice 
Grazie a chi volesse aiutarmi