Javascript global object calls function?
        Posted  
        
            by 
                Troels
            
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Troels
        
        
        
        Published on 2010-12-31T15:40:09Z
        Indexed on 
            2010/12/31
            15:53 UTC
        
        
        Read the original article
        Hit count: 270
        
Hello stackoverflow
I have a very odd problem with javascript. My code is rather long so here is an example of the structure and the problem:
    var x = new function f() {
        this.id = "";
    }
    function g(obj) {
        if (x.id == "") {
            ...
            obj.firstChild.setAttribute("onclick", "javascript:o();");  
            ...
            x.id = obj.id;
        }
        else if (x.id != obj.id) {
            ...
            x.id = "";
            g(obj);
        }
    }
    function o() {
        ...
        if (something == something) {
            ...
        }
        else {
            ...
            x.id = ""; // if-statement of the g() function is called here?
        }
    }
As you can see, the if-statement of the g() function is for some reason called or re-run upon x.id being changed. I simply cannot understand this, because they are not in the same scope, and changing a variable should under no circumstances trigger anything?
Any help would be greatly appreciated.
© Stack Overflow or respective owner