Skip to main content

jquery select iframe children


I am using the editArea library and jquery to do what i need...



http://www.cdolivet.com/index.php?page=editArea&sess=2b8243f679e0d472397bfa959e1d3841



so in my html there is an iframe tag that editArea uses what i need is to access something like so with jquery




$('iframe textarea').keydown(function (e){
number = 17; //any number really :)
if(e.which == number){
//do something...
alert('Done...');
}
});



I tried the above but it looks like it is not detecting that key. but it works if selector was $(document) therefore the rest of the function works it's just it's not picking up the iframes textarea keydown



any ideas? Thanks


Source: Tips4allCCNA FINAL EXAM

Comments

  1. $("iframe").contents().find("textarea").keydown(...)

    ReplyDelete
  2. You need search within the inner document of the iframe, in order to get the textarea element:

    var textarea = $('textarea', $('iframe').get(0).contentWindow.document);
    textarea.keydown(function (e){
    var number = 17;
    var code = (e.keyCode ? e.keyCode : e.which);

    if(code == number){
    //do something...
    alert('Done...');
    }
    });

    ReplyDelete
  3. You need to access the iframes contentWindow.document, not the iframe itself.

    ReplyDelete
  4. Well, is this what you want:

    Link to Simple Tutorial

    ReplyDelete
  5. You should be doing



    iframeDoc = document.getElementById('resultsFrame').contentWindow;
    // result frame is id of iframe
    $(iframeDoc).keydown(function(e))
    {
    // your functionality here
    }

    ReplyDelete
  6. You can travel any level, The above answers are correct. I did as below

    var iframeMain = $("#iframe0").contents().find('#iframeMain');
    var detailsForm = $(iframeMain).contents().find('#detailsform');


    for accessing parents you can use

    window.parent.parent. // upto any level

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?