That's what I tried first but couldn't get it to work, so I switched to using load function.
I've created a demo page with 2 iframes - one using each method and only the load function works. You can find it here if you want to have a look to see if I've done something wrong. http://jquery.sallilump.com/bindtest/bind.html Paul On 26 Sep, 01:46, ricardobeat <[EMAIL PROTECTED]> wrote: > Oh, that's right. > > But I think the best way would be > > $(document).ready(function(){ > > //theother code blabla > > //now that the iframe element exists > $(frames.testframe.document).ready(function(){ > > }); > > }); > > On Sep 25, 4:56 pm, Paul Mills <[EMAIL PROTECTED]> wrote: > > > The ready function fires when the iframe is ready in the DOM, not when > > the contents of the iframe are ready. I think you need to use the load > > function - a bit like this: > > > $(window).load(function () { > > $('#test', > > frames['testframe'].document).click(function() { > > $("#hold").append('<a href="#">Inserted > > from iframe</a> <br />'); > > }); > > }); > > > Paul > > > On Sep 25, 6:37 pm, ricardobeat <[EMAIL PROTECTED]> wrote: > > > > You need to put the code inside the $(document).ready function, it's > > > not finding theiframebecause the DOM is not loaded. > > > > - ricardo > > > > On Sep 25, 12:36 pm, hubbs <[EMAIL PROTECTED]> wrote: > > > > > Well, I tried this, but again it is not working, I really must be > > > > missing something. > > > > > All I want to do it be able to click the link inside theiframe, and > > > > have it append some HTML into the parent, and apply a click event as > > > > well, that is all, seems simple! :) > > > > > My test page: http://web2.puc.edu/PUC/files/bind.html > > > >Iframepage:http://web2.puc.edu/PUC/files/iframe.html > > > > > Thanks for all the help. > > > > > On Sep 24, 3:02 pm, ricardobeat <[EMAIL PROTECTED]> wrote: > > > > > > Hi, > > > > > > This works for me (FF3) (code running in the parent frame): > > > > > > $('#test',frames[0].document).click(function(){ //bindfunction to > > > > > event from element *insideiframe* > > > > > $('<b>TESTE</b>').appendTo('body').click(function(){ // append > > > > > element to the *parent frame* and assing a click handler to it > > > > > alert('test'); > > > > > }); > > > > > > }); > > > > > > I might not be understanding clearly what you want, a test case or > > > > > explanation of the functionality you are looking for might help. > > > > > > cheers, > > > > > - ricardo > > > > > > On Sep 24, 1:27 pm, hubbs <[EMAIL PROTECTED]> wrote: > > > > > > > Hi Ricardo, > > > > > > > I am not appending aniframe, it is hardcoded. I am trying to append > > > > > > to the parent document from within theiframe, and have the event in > > > > > > the parent bound to the appended element from theiframe. > > > > > > > On Sep 23, 11:49 pm, ricardobeat <[EMAIL PROTECTED]> wrote: > > > > > > > > Hi, I can't test anything right now, but are you setting up the > > > > > > > ready() function after appending theiframe? > > > > > > > > On Sep 23, 9:11 pm, hubbs <[EMAIL PROTECTED]> wrote: > > > > > > > > > Yeah, this really is not working. Could someone please help me > > > > > > > > to > > > > > > > > understand how to make multiple frames use the same jquery > > > > > > > > instance so > > > > > > > > I can resolve this problem? Do I need to resort to frame ready > > > > > > > > plugin? I really don't want to... > > > > > > > > > On Sep 17, 7:12 pm, ricardobeat <[EMAIL PROTECTED]> wrote: > > > > > > > > > > Not sure but $(frames['frame'].document).ready() should work > > > > > > > > > (from the > > > > > > > > > parent window). > > > > > > > > > > On Sep 17, 8:21 pm, hubbs <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > Ok, I am realizing it has to do with the do with the > > > > > > > > > > $(document).ready > > > > > > > > > > function. If I just use: > > > > > > > > > > > $ = window.parent.$; > > > > > > > > > > $("#hold").append('<a href="#">Inserted fromiFrame</a> <br > > > > > > > > > > />'); > > > > > > > > > > > In theiframe, it correctly adds the link to the parent, and > > > > > > > > > > it gets > > > > > > > > > > the event from livequery! Hooray!! > > > > > > > > > > > But, obviously I need to add back a document ready function > > > > > > > > > > so that I > > > > > > > > > > canbindevents within theiframe. How does that need to be > > > > > > > > > > done in > > > > > > > > > > this context? As I said, using the normal document ready > > > > > > > > > > does not > > > > > > > > > > work. > > > > > > > > > > > On Sep 17, 9:58 am, ricardobeat <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > using theiframe'sjQuery object: > > > > > > > > > > > > $('.classinparentframe', parent.window.document) > > > > > > > > > > > > Ideally if the contents of theiframeare always known to > > > > > > > > > > > you, you > > > > > > > > > > > should use only one instance of jQuery on the parent > > > > > > > > > > > window and do all > > > > > > > > > > > your stuff from it, it's simpler to debug also. > > > > > > > > > > > > On Sep 16, 10:29 pm, hubbs <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > Thanks Ricardo. > > > > > > > > > > > > > But what if I wanted to access the parent document from > > > > > > > > > > > > WITHIN the > > > > > > > > > > > >iframe? > > > > > > > > > > > > > On Sep 16, 12:27 pm, ricardobeat <[EMAIL PROTECTED]> > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > You need to understand that a frame is another > > > > > > > > > > > > > 'window' instance, it > > > > > > > > > > > > > doesn't have the same jQuery object as the parent > > > > > > > > > > > > > window unless you > > > > > > > > > > > > > tell it to. So the '$' object you use in firebug > > > > > > > > > > > > > console is always the > > > > > > > > > > > > > one from the parent window. > > > > > > > > > > > > > > If i'm not mistaken you can acess frame content with > > > > > > > > > > > > > the parent > > > > > > > > > > > > > window's jQuery object using $('.classinsidetheframe', > > > > > > > > > > > > > frames['name'].document).css(); > > > > > > > > > > > > > > On Sep 16, 1:48 pm, hubbs <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > Ok Brandon, > > > > > > > > > > > > > > > I found this in another post: > > > > > > > > > > > > > > > var doc = $('#testframe')[0].contentWindow.document; > > > > > > > > > > > > > > $(doc.body).append('<span>test</span>'); > > > > > > > > > > > > > > > This seems like it would help, but I am not sure > > > > > > > > > > > > > > how to use this, > > > > > > > > > > > > > > along with what you posted to get it working > > > > > > > > > > > > > > correctly. Somehow > > > > > > > > > > > > > > sending the GET within the context of the > > > > > > > > > > > > > > contentWindow is confusing > > > > > > > > > > > > > > me, and I just can't get it working. > > > > > > > > > > > > > > > On Sep 15, 9:18 am, "Brandon Aaron" <[EMAIL > > > > > > > > > > > > > > PROTECTED]> wrote: > > > > > > > > > > > > > > > > To see what I mean run this in Firebug: > > > > > > > > > > > > > > > $('iframe')[0].contentWindow.$ = $; > > > > > > > > > > > > > > > > Then click on the link in theiframeand it will > > > > > > > > > > > > > > > behave as you expect. > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > Brandon Aaron > > > > > > > > > > > > > > > > On Mon, Sep 15, 2008 at 9:13 AM, Brandon Aaron > > > > > > > > > > > > > > > <[EMAIL PROTECTED]>wrote: > > > > > > > > > > > > > > > > > This would work if you used the frames parent > > > > > > > > > > > > > > > > instance of jQuery. LiveQuery > > > > > > > > > > > > > > > > works by monitoring the DOM methods within > > > > > > > > > > > > > > > > jQuery. Since within the frame > > > > > > > > > > > > > > > > you are using a new instance of jQuery, > > > > > > > > > > > > > > > > LiveQuery will not be monitoring its > > > > > > > > > > > > > > > > DOM methods. > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > Brandon Aaron > > > > > > > > > > > > > > > > > On Sun, Sep 14, 2008 at 11:04 PM, hubbs <[EMAIL > > > > > > > > > > > > > > > > PROTECTED]> wrote: > > > > > > > > > > > > > > > > >> I can confirm that using event delegation will > > > > > > > > > > > > > > > >> fix this problem. I > > > > > > > > > > > > > > > >> guess that it is just a problem with the > > > > > > > > > > > > > > > >> LiveQuery plugin. Brandon, > > > > > > > > > > > > > > > >> if you are where around here, could you > > > > > > > > > > > > > > > >> comment on this? > > > > > > > > > > > > > > > > >> Thanks. > > > > > > > > > > > > > > > > >> On Sep 14, 2:29 pm, hubbs <[EMAIL PROTECTED]> > > > > > > > > > > > > > > > >> wrote: > > > > > > > > > > > > > > > >> > I have a working example of this, and would > > > > > > > > > > > > > > > >> > really like help > > > > > > > > > > > > > > > >> > understanding whybindor livequery does > > > > > > > > > > > > > > > >> > notbindevents to DOM > > > > > > > > > > > > > > > >> > elements that are inserted from aniframe. > > > > > > > > > > > > > > > > >> >http://web2.puc.edu/PUC/files/bind.html > > > > > > > > > > > > > > > > >> > Clicking the "insert from frame" link will > > > > > > > > > > > > > > > >> > append links to the parent > > > > > > > > > > > > > > > >> > frame, which won't pick up the click event. > > > > > > > > > > > > > > > >> > But, clicking the "insert > > > > > > > > > > > > > > > >> > from body" link will append links within the > > > > > > > > > > > > > > > >> > same frame and will > > > > > > > > > > > > > > > >> > correctly have the click events bound. > > > > > > > > > > > > > > > > >> > Why is this happening? > > > > > > > > > > > > > > > > >> > On Sep 12, 9:02 pm, hubbs <[EMAIL > > > > > > > > > > > > > > > >> > PROTECTED]> wrote: > > > > > > > > > > > > > > > > >> > > I have been experiencing strangeness with > > > > > > > > > > > > > > > >> > > trying tobindevents to DOM > > > > > > > > > > > > > > > >> > > elements that have been inserted from a > > > > > > > > > > > > > > > >> > > different frame using .get(). > > > > > > > > > > > > > > > >> > > For some reason the elements don't be > > > > > > > > > > > > > > > >> > > binded with the events if they > > > > > > > > > > > > > > > >> > > are inserted from other frame. In > > > > > > > > > > > > > > > >> > > testing, if I try the same > > > > > > > > > > > > > > > >> thingwithinthe SAME frame the the events get > > > > > > > > > > > > > > > >> binded correctly. > > > > > > > > > > > > > > > > >> > > Am I missing something here? Is this a > > > > > > > > > > > > > > > >> > > limitation of jQuery?