Hi guys, honestly I didn't read through the whole thread, but just wanted to remind you of what we collected about binding methods in the Apache Flex Wiki: https://cwiki.apache.org/confluence/display/FLEX/Simulating+AS3+language+features+in+JavaScript+using+AMD+and+ES5#SimulatingAS3languagefeaturesinJavaScriptusingAMDandES5-Boundmethods Maybe it helps / clarifies things!
Cheers -Frank- On Wed, Jul 15, 2015 at 1:18 PM, Michael Schmalle <teotigraphix...@gmail.com > wrote: > On Tue, Jul 14, 2015 at 7:11 PM, Alex Harui <aha...@adobe.com> wrote: > > > Bummer. > > > > Did you try: > > > > this.addEventListener("mousedown", simpleButton_mousedownHandler); > > > > The “this.” might be creating a pattern that isn’t handled. I’m sort of > > hoping Mike will finish his mother-in-law’s bathroom and find time to > > start in on some way to pass context so we don’t have to one-off these > > patterns. > > > > I'm done as of last Friday but my wife keeps inventing more things for me > to do around the house, like buying 4 pieces of trim for the doors and > baseboard. > > I am VERY short on time right now as it's summer and the kids are home, > blah blah. :) Plus I still need to keep working on my AIR projects for my > fall goal. > > I guess, if you can create a new thread and clearly explain the problem and > solution I can then look at it with a clean slate and figure out how much > time it might take me to do given the current emitter's state. > > I know I did something with the other compiler and event listeners, I would > have to look. > > Mike > > > > > > > -Alex > > > > On 7/14/15, 3:50 PM, "Josh Tynjala" <joshtynj...@gmail.com> wrote: > > > > >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 > > >> > > >> > > > > >