Adding event handler to an iframe using JQuery

后端 未结 4 711
广开言路
广开言路 2020-12-01 19:07

I want to assign a keydown event handler to an iframe. Something similar to the pure JS:

document.getElementById(\'iframe_id\').contentWindow.addEventListene         


        
相关标签:
4条回答
  • 2020-12-01 19:59

    The $ function replaces the need for document.getElementById

    $('iframe_id').contentDocument.keydown(function() {
       // logic
    });
    
    0 讨论(0)
  • 2020-12-01 20:01

    This worked for me:

    $('#iframe_id').contents().keydown(function() {
        // my func
    });
    
    0 讨论(0)
  • 2020-12-01 20:07

    contentWindow is the iframe's window object. You want the iframe's document instead:

    $(document.getElementById('iframe_id').contentWindow.document).keydown(function() {
        // my func
    });
    

    Note that I am not sure how jQuery reacts to elements from other windows/frames.

    0 讨论(0)
  • 2020-12-01 20:07

    Just something to keep in mind: this will never work, as far as I understand, if the iframe content is cross-domain. You'll end up with permissions errors: Permission denied for http://... to get property HTMLDocument.nodeType from http://.... Browsers limit parent child dom permissions to same domain.

    0 讨论(0)
提交回复
热议问题