Alex,

The change you made worked for the case where the function is assigned to a
variable, but it doesn't account for the function being passed as an
argument to a function.

This still doesn't work for me:

this.addEventListener("mousedown", this.simpleButton_mousedownHandler);

However, as a workaround, I can do this, for now:

var mouseDownListener:Function = this.simpleButton_mousedownHandler;
this.addEventListener("mousedown", mouseDownListener);

- Josh

On Sun, Jun 28, 2015 at 10:13 PM, Alex Harui <aha...@adobe.com> wrote:

>
>
> On 6/28/15, 2:21 PM, "Michael Schmalle" <teotigraphix...@gmail.com> wrote:
>
> >On Sun, Jun 28, 2015 at 5:17 PM, Josh Tynjala <joshtynj...@gmail.com>
> >wrote:
> >
> >> Yes, that is correct.
> >>
> >> In case it wasn't obvious, event listeners are the typical use case
> >>where
> >> you'd pass a reference to a member function somewhere else where a
> >> reference needs to be saved in a variable. AS3 made this easy by
> >> automatically binding member functions. JavaScript usually requires some
> >> manual intervention to get event listeners to be called with the right
> >> scope.
> >>
> >
> >Yeah the compiler does this already for anonymous functions, it creates a
> >self var pointing to 'this' and then uses self in the anonymous function's
> >body.
>
> Actually, that ‘self’ stuff is for AS lexical scoping.  Josh is more
> interested in the use of goog.bind for function identifiers.  FalconJX
> handles that correctly in most cases for addEventListener and other
> callbacks, but I guess we don’t handle this scenario.
>
> I can try to take a look at it, but if you want to, search for GOOG_BIND.
>
> >
> >I wasn't aware of this problem though, can you create a JIRA ticket? I
> >probably will be the one that tackles it since I am sure Alex doesn't have
> >time to do something like this and test it as well.
>
> Well, I can probably get it working, but I’m sure I won’t test it as well
> as you will.
>
> -Alex
>
>

Reply via email to