Thanks for your input to the project, but I don't think we can consider this a bug. Referring to objects that do not yet exist is an error in almost any programming language, so it is to be expected. The MochiKit docs do not explicitly make it clear that the id lookup is immediate, but they definitely do not discuss any lazy or delayed lookup of the signal source. The documentation is explicit regarding that the destination slot will be looked up on the first signal, though.
In your case, why wouldn't you just attach the signal when creating the element? Otherwise you'd have to listen to any DOM modification and possibly attach signals to elements added. And that use case sounds pretty specific to me. BTW. If you'd like to contribute patches to the MochiKit project, it would be much easier if you forked the project on GitHub I think. The move happened quite recently, so I haven't moved all my own patches yet, but by forking on GitHub it becomes much easier for us maintainers to pick up patches and ideas. Cheers, /Per On Fri, Dec 3, 2010 at 16:37, ryanwil...@gmail.com <ryanwil...@gmail.com> wrote: > Hi all, > > I was playing around with MochiKit.Signal, specifically asking the > question: "Can I use MochiKit.Signal.connect to set event handlers for > objects that don't exist yet. > > Like so: > > > // connect to our make a new button button > MochiKit.Signal.connect("button_that_exists", 'onclick', > function(evt ) { > var new_button = MochiKit.DOM.BUTTON({'id': > "newly_created_button"}, "Hello world, I'm new"); > > MochiKit.DOM.appendChildNodes( MochiKit.DOM.getElement("main_content_div"), > new_button ); > }); > > MochiKit.Signal.connect("newly_created_button", 'onclick', > function(evt) { > alert("hey world"); > > }); > > > NOTE that "newly_created_button" won't exist until the user clicks the > "button_that_exists". > > When I try this I get an error in MochiKit.Signal, about src being > null. > > Is this a bug ("MochiKit.Signal should allow connecting to DOM objects > that don't exist yet"), or a limitation of how MochiKit.Signal was > designed ("MochiKit.Signal.connect supports only objects that live on > the DOM when it is called")? > > I do see that MochiKit.Signal.signal DOES seem to support the src > object being a string, so I suspect the former answer. > > If it is the former answer (if this error is a bug) I can try to put > together a patch to try and allow this behavior, BUT I wanted to check > before I went down this road. > > To see my full example, I've pushed it up to Bitbucket (as part of a > "learning" repository, so there's a lot of extra stuff in there :( ): > <http://bitbucket.org/rwilcox/learning_javascript/src/tip/MochiKit/ > signals_and_slots/> > > -- > You received this message because you are subscribed to the Google Groups > "MochiKit" group. > To post to this group, send email to mochi...@googlegroups.com. > To unsubscribe from this group, send email to > mochikit+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/mochikit?hl=en. > > -- You received this message because you are subscribed to the Google Groups "MochiKit" group. To post to this group, send email to mochi...@googlegroups.com. To unsubscribe from this group, send email to mochikit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/mochikit?hl=en.