Thanks for your help, works fine.

On Jul 7, 8:02 am, Fábio M. Costa <[email protected]> wrote:
> what i usually do is savethis to a local var.
>
>   addControl: function(pCntrlType) {
>        var obj;
>        var self = this;
>
>        switch (pCntrlType) {
>            case "TXTB":
>                obj = new Element('input', {
>                    'id': 'textbox1',
>                    'styles': {
>                        position: 'absolute'
>                    },
>                    'events': { 'click': function() {
>                            grabControl(self);
>                        }
>                    }
>                }).inject($('tdMainCenterRight'));
>                break;
>        }
>
>        this.makeElementDragable(obj);
>    },
>
> Fábio Miranda Costa
> Engenheiro de Computaçãohttp://meiocodigo.com
>
> On Tue, Jul 7, 2009 at 8:58 AM, Gafa <[email protected]> wrote:
>
> > Yes and No as it then changes the "this" being passed to grabControl
> > (this) <-  "this" parameter should refer to the newly created textbox
> > object and doesn't.
>
> > any other suggestions?
>
> > thanks
>
> > On Jul 6, 7:37 pm, Fábio M. Costa <[email protected]> wrote:
> > >  'events': { 'click': function() {
> > >                            grabControl(this);
> > >                        }.bind(this)
> > >                    }
>
> > > this doesnt work?
>
> > > Fábio Miranda Costa
> > > Engenheiro de Computaçãohttp://meiocodigo.com
>
> > > On Mon, Jul 6, 2009 at 6:12 PM, Gafa <[email protected]> wrote:
>
> > > > var test= new Class({
> > > >    Implements: Options,
>
> > > >    options: {
> > > >        myOp: "DDD
> > > >    },
> > > >    initialize: function(options) {
> > > >        this.setOptions(options);
> > > >    },
> > > >   addControl: function(pCntrlType) {
> > > >        var obj
>
> > > >        switch (pCntrlType) {
> > > >            case "TXTB":
> > > >                obj = new Element('input', {
> > > >                    'id': 'textbox1',
> > > >                    'styles': {
> > > >                        position: 'absolute'
> > > >                    },
> > > >                    'events': { 'click': function() {
> > > >                            grabControl(this);
> > > >                        }
> > > >                    }
> > > >                }).inject($('tdMainCenterRight'));
> > > >                break;
> > > >        }
>
> > > >        this.makeElementDragable(obj);
> > > >    },
> > > >    grabControl: function(pEl) {
> > > >        //this.updateControlPosition(pEl);
>
> > > >        //set class varial to seleted control
>
> > > >    },
> > > >    makeElementDragable: function(pObj) {
>
> > > >        new Drag.Move(pObj, {
> > > >            container: $('tdMainCenterRight'),
> > > >            droppables: '#tdMainCenterRight',
> > > >            precalculate: 'true',
>
> > > >            onDrag: function(el, event) {
> > > >                //this.updateControlPosition(el);
> > > >            } .bind(this)
> > > >        });
> > > >    }
> > > > });
>
> > > > Problem is when I use this class and the grabControl function is
> > > > called from within the click event, it errors, I know I need to bind
> > > > the grabControl function from the class to the click event but I can't
> > > > figure it out.
>
> > > > Thanks

Reply via email to