Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Callback em um objecto

$
0
0

Boas,  é possivel usar uma funçao de callback que está dentro de um objecto ?

Código:

var Resources = {
        init: function() {
            this.CSSfiles = [];
            this.Add = Resources.Add;
            this.Load = Resources.Load;


            this.cssState = 0;
        },

        Add: function(json) {
           this.CSSfiles.push(json);

        },

        Load: function(callback) {
            var head = document.getElementsByTagName("head")[0]
            this.CSSfiles.forEach(function(file) {
                    var ref = document.createElement('link');
                    ref.setAttribute('rel', 'stylesheet');
                    ref.setAttribute('type', 'text/css');
                    ref.setAttribute('async', file['async']);
                    ref.setAttribute('href', file['file']);
                    head.appendChild(ref);

                   
                });
               callback.call();
            }
        }

var obj = {
       Create: function(files, html, id) {
                this.files = files;
                this.html = html;
                this.id = id;

                this.Load = obj.Load;
                this.insertHtml = obj.insertHtml;
         },

       Load: function() {

            var Resc = new Resources.init();
            this.files.forEach(function(file) {
                Resc.Add(file, 'css');
            });

            Resc.Load(this.insertHtml);


            },


      insertHtml: function(){
        // just to test
        console.log('id ='+this.id);
        console.log('html ='+this.html);
      }

        }

         var cs = new obj.Create([{"file":"http:\/\/dev.localhost\/rsc.php?file=css\/core\/block_left.css","async":false},{"file":"http:\/\/dev.localhost\/rsc.php?file=css\/core\/blockleft.css","async":false}],'<h1>test</h1>', 'content');
         cs.Load();

A callback é chamada na funçao  Load do Resources e está dentro do objecto "obj".
http://jsfiddle.net/3j7c8hjh/


Viewing all articles
Browse latest Browse all 14190