Domanda

Attualmente sto lavorando alla libreria Tips.js dalla libreria mootools e il mio codice si interrompe sulla riga che contiene quei el. $ tmp e la console dice che non è definito

Qualcuno può aiutarmi?

È stato utile?

Soluzione

in 1.11 (non verificato in 1.2+) $ tmp è un riferimento all'elemento stesso, creato e utilizzato internamente dal Garbage Collector:

var Garbage = {

    elements: [],

    collect: function(el){
        if (!el.$tmp){
            Garbage.elements.push(el);
            el.$tmp = {'opacity': 1};
        }
        return el;
    },

    trash: function(elements){
        for (var i = 0, j = elements.length, el; i < j; i++){
            if (!(el = elements[i]) || !el.$tmp) continue;
            if (el.$events) el.fireEvent('trash').removeEvents();
            for (var p in el.$tmp) el.$tmp[p] = null;
            for (var d in Element.prototype) el[d] = null;
            Garbage.elements[Garbage.elements.indexOf(el)] = null;
            el.htmlElement = el.$tmp = el = null;
        }
        Garbage.elements.remove(null);
    },

    empty: function(){
        Garbage.collect(window);
        Garbage.collect(document);
        Garbage.trash(Garbage.elements);
    }

};

le righe el. $ tmp = {'opacity': 1}; (nel metodo di raccolta sopra) e el.htmlElement = el. $ tmp = el = null; (nel metodo cestino sopra) sono gli unici posti nella fonte in cui è stata assegnata questa proprietà che ho potuto trovare, sebbene sia chiamata da vari altri metodi, come Element.setOpacity e Element.getStyle (in particolare, solo per restituire il valore di opacità ), nonché i metodi nella classe Tips

1.2 potrebbe non avere questo problema, ma in ogni caso, spero che sia d'aiuto e mi dispiace non poterti aiutare di più

Altri suggerimenti

Suggerirei di porre la tua domanda e di pubblicarla, insieme a un link alla pagina su / o / e:

http://mooforum.net

http://groups.google.com/group/mootools-users/topics

Questa è la comunità che pullula di esso.

Ora come per rispondere qui - avrei bisogno di molte più informazioni (esempio di codice?)

Hmmm. Non sono esattamente sicuro di quale el. $ Tmp sia un riferimento in MooTools ma un messaggio che indica "console non è definito" è probabilmente perché qualcuno stava tentando di accedere alla console di Firebug (o un'altra) e quell'oggetto non esiste se non hai Firebug e amici.

Se non hai http: //getfirebug.com'> Firebug installato per Firefox, potresti provarlo. Verifica se riesci a trovare l'istruzione della console e rimuoverla. Inoltre, se non si utilizza Firefox, è possibile utilizzare Firebug Lite in IE, Safari o Opera.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top