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 > >