Daniel, try this: from __pyjamas__ import wnd
class MySelect2TaggingComponent(HTML): def change(self): ... wnd().change=change The change method will be accessible from jQuery as "change". Istvan 2012. július 6., péntek 11:51:59 UTC+2 időpontban Daniel Gonzalez a következőt írta: > > Hi all, > > I am completing my integration of a jQuery component with pyjs, which I > will share with you as soon as is ready. We could add that to the examples > dir. > > Currently I am trying to pass a jQuery event up to my python code. The > jQuery component is a Select2 element, which fires a change event whenever > the user changes the content. I have verified that this is working by > calling a pure javascript function, like this: > > class MySelect2TaggingComponent(HTML): > > ... > > def setup_show(self): > show = ''' > function show() { > var e=parent.jQuery("<div > style='background-color:yellow;'>change > fired</div>"); > parent.jQuery("#%s").append(e); > e.animate({opacity:0}, 100000, 'linear', function() { > e.remove(); }); > };''' % (self.myid) > myjs = '%s parent.jQuery("#%s").bind("change", show);' % (show, > self.myid) > Logger("MySelect2TaggingComponent > setup_show", "Now calling JS: > %s" % (myjs)) > JS(""" eval(@{{myjs}}) """) > > As you can see here, what I am doing is to define a show function and bind > it to the element change event. This works. > > Now instead of calling the javascript show function, I want to call a pyjs > "change" function, which will perform data processing and will send the > data to the server. > > I would like to define a change method like this: > > class MySelect2TaggingComponent(HTML): > > > def change(self): > ... > > > How can I bind the javascript "change" event to this change method? > > Thanks, > Daniel >