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?

Reply via email to