加载iframe和目标内容

时间:2011-06-07 09:54:22

标签: javascript jquery iframe javascript-events dom-manipulation

我有一个脚本将iframe写入页面。 我想在这个iframe中定位一个链接以获得一个功能。 问题是: 在编写iframe之后我使用此代码:

$('#iframe_pin').load(function () {
            $(this).contents().find('a.close').click(function (event) {
                event.preventDefault();
                $('.loaded').fadeOut(fade_time).remove();
            })
        })

它不起作用。 但如果我在加载功能之后发出警报,就像这样

$('#iframe_pin').load(function () {alert('bla bla');
            $(this).contents().find('a.close').click(function (event) {
                event.preventDefault();
                $('.loaded').fadeOut(fade_time).remove();
            })
        })

它有效!!

当然我无法在代码中保留警报:)

任何人都可以帮助我吗?

日Thnx

1 个答案:

答案 0 :(得分:2)

你可以从评论中找到类似的内容:

<div class="loaded">
    <iframe id="iframe_pin" src="abc.html" width="100%" height="100%">
</div>

所以,你需要做的就是:

$("#iframe_pin").load(function() {

    // let's get the iframe source
    var iframe = $("#iframe_pin").contents();

    iframe.find("a.close").bind("click", function() {
        $(".loaded").fadeOut('slow', function() {
            // now that the FadeOut is finished, let's remove
            $(".loaded").remove();
        });
        return false; // let's prevent to jump in the click
    });
});
  

my own space

的工作示例

  

Example 2通过即时创建<iframe>


  

Example 3动态创建<iframe>,删除它们并重新创建