문제

Ok, Im wondering if it is possible to transfer the reference of the object to the functions. If you dont understand what im trying to say, this might help:

//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");

So for the update function, I want to be able to do something like:

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

And it gives me the variables(edit, dyna, old) from the Editor object. Thanks.

도움이 되었습니까?

해결책

this inside your function refers to the object of the anonymous base function you have created.

Use this.propertyName to access its properties.

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

다른 팁

Why aren't you just using the this prefix. So this.edit[0].value?

Maybe I am missing something as it's late here...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top