Domanda

Ok, Im chiedendo se è possibile trasferire il riferimento dell'oggetto alle funzioni. Se non capisce che cosa im cercando di dire, questo aiuto potrebbe:

//so i declare the variable `Editor`
var Editor = new (function(e, d){
    this.edit = e;
    this.dyna = d;
    this.old = ""; //and set these variables inside the object

    this.update = function() {
        var ta = $(Editor.edit)[0].value, dy = $(Editor.dyna)[0].contentDocument;
        //what i want is to be able to refer to the variables (ie. "edit") without using "Editor."
        if (Editor.old !== ta) {
            $(dy).text(ta);
            Editor.old = ta;
        }
        window.setTimeout(Editor.update, 150);
    }

    return this;
})("editor","dynamic");

Quindi, per la funzione di aggiornamento, voglio essere in grado di fare qualcosa di simile:

this.update = function() {
    var ta = $(edit)[0].value, dy = $(dyna)[0].contentDocument;
    if (old !== ta) {
        $(dy).text(ta);
        old = ta;
    }
    window.setTimeout(update, 150);
}

E questo mi dà le variabili (Modifica, Dyna, vecchi) dall'oggetto Editor. Grazie.

È stato utile?

Soluzione

this all'interno della vostra funzione si riferisce all'oggetto della funzione base anonima si è creato.

Usa this.propertyName per accedere alle relative proprietà.

var ta = $(this.edit)[0].value, dy = $(this.dyna)[0].contentDocument;

Altri suggerimenti

Perché non stai solo utilizzando il prefisso this. Così this.edit[0].value?

Forse mi manca qualcosa, come si è fatto tardi qui ...

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