Re: nevow.liveevil question (dynamically adding a link with its own handler)
On Dec 19, 2004, at 12:05 PM, David Moore wrote:
def adder(client): # newLink = loaders.stan(tags.a(href="#")["Nothing"]) newLink = loaders.stan(tags.a(href="#", onclick=liveevil.handler(adder))["AddAgain"]) client.append('content', newLink)
I got a similar problem and actually found the reason : you can't call liveevil.handler in a function itself called by liveevil.handler (a function aimed at javascript). To make things work, I used a small hack : ### Code def adder(client): newLink = tags.a(onclick="myfunc")["AddAgain"] client.append('content', newLink) ### END Code In your page : ### Code def render_myfunc(context, data); return liveevil.handler(adder) ### END Code And in your html/stan/whatever : ### Code <script language="javascript"> function my_func() { <span nevow:render="myfunc" /> } </script> ### END Code Hope it'll help -- Thomas
participants (1)
-
Thomas Hervé