Replacing “$” with “jQuery” makes the warnings go away. Why would “$” be different than “jQuery”? It sounds to me like a bug in the definitions.
jQuery always returns a JQuery object which has many defined methods. One of those is attr. On Apr 21, 2016, at 1:50 AM, Alex Harui <[email protected]> wrote: > IMO, this is why Jquery is painful for strong typing. > > I think you may need to do casting: > > ($("#topcoat") as Whatever).attr(..) > > Where Whatever is a "type" that has an attr function. > > And you may need to use @flexjsignorecoercion or other compiler options to > not actually do the "as" test in the JS output. > > Good luck, > -Alex > > > On 4/20/16, 3:46 PM, "Harbs" <[email protected]> wrote: > >> Here’s an example: >> $("#topcoat").attr("href", "css/topcoat-desktop-lightlight.min.css"); >> >> It looks like “$” is defined as an object. >> >> Here’s the exact warnings I’m getting: >> >> Could not resolve variable (may be a dynamic member) 'attr' at line 43 >> column 19. ThemeManager.as /MyExtension/src/com/unhurdle Unknown Flash >> Problem >> Maybe invoking a non function. Found >> $("#topcoat").attr("href","css/topcoat-desktop-lightlight.min.css"); at >> line 43 column >> 5. ThemeManager.as /MyExtension/src/com/unhurdle Unknown Flash Problem >> >> And yes, js/libs/jquery.swc is included. If I remove it, I get an error >> that “$” is not defined instead of a warning. >> >> On Apr 21, 2016, at 1:39 AM, Alex Harui <[email protected]> wrote: >> >>> >>> >>> On 4/20/16, 3:34 PM, "Harbs" <[email protected]> wrote: >>> >>>> Does anyone know if there’s a way to get FDT to not flag JQuery >>>> expressions with “could not resolve variable” and "Maybe invoke a non >>>> function” warnings? >>> >>> What kind of expressions result in this output? Are you sure you have >>> the >>> jquery.swc from the externs on the -external-library-path? >>> >>> -Alex >>> >> >
