jQuery: click event inside iframe

16,371

When you have the iframe on the same domain, you can use this script to catch clicks in the iframe. Don't use .live, it is depriciated as of jQuery 1.7.

var iframeBody = $('body', $('#iframe')[0].contentWindow.document);
$(iframeBody).on('click', 'img', function(event) {
    doSomething();
});

You can manipulate the body through the iframeBody variable.

Share:
16,371
user1374796
Author by

user1374796

Updated on June 04, 2022

Comments

  • user1374796
    user1374796 almost 2 years

    I'm trying to fire a click event on the click of an element inside an iframe, but it doesn't seem to be working. My current set up:
    jsFiddle: http://jsfiddle.net/q4aa3/
    jQuery:

    $(document).ready(function () {
        $('#this-iframe').load(function () {
            $('#this-iframe').contents().find('img').live({
                click: function () {
                    alert('clicked img');
                }
            });
        });
    });
    

    Clicking on the image inside the iframe isn't firing the alert, I'm not sure why, or is there a better way to achieve this? Any suggestions would be greatly appreciated!