如何点击iframe删除它?

时间:2014-03-01 07:00:32

标签: jquery iframe selector

嗯,我得到了最基本的问题。我想在div中选择iframe。无论何时点击此iframe,我都想删除iframe。我怎么能这样做?

<div id="box">
    Random thoughts
    <iframe src=""></iframe>
</div>

见这里:http://jsfiddle.net/nT4uZ/1/

2 个答案:

答案 0 :(得分:4)

正如@Daedalus评论的那样,你无法直接处理iframe内部的点击。

你需要在#box div中添加一个额外的div,它将覆盖iframe,它将处理iframe上方的点击。

您需要找到iframe的尺寸及其偏移量,并将其应用于此div中。

<强> HTML

<div id="box">Random thoughts
    <iframe src="//www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Fwww.facebook.com%2FFacebookDevelopers&amp;width&amp;height=62&amp;colorscheme=light&amp;show_faces=false&amp;header=false&amp;stream=false&amp;show_border=true&amp;appId=163663917164005" scrolling="no" frameborder="0" style="border:none; overflow:hidden; height:62px;" allowTransparency="true"></iframe>
    <div id="inner_box">
    </div>
</div>

<强> CSS

    #inner_box {
        position:absolute;
        z-index:2; 
   }
    #iframe {
        position:absolute;
        z-index:1; 
    }

JavaScript (在链接here的帮助下)

//Positioning the #inner_box in the same position with the iframe
var destination = jQuery('#box iframe').offset();
jQuery('#inner_box').css({top: destination.top, left: destination.left});

//Giving the #inner_box the same dimensions with the iframe
jQuery('#inner_box').width(jQuery('#box iframe').width());
jQuery('#inner_box').height(jQuery('#box iframe').height());

//Implement click handler
jQuery('#inner_box').click(function() {
    jQuery(this).closest('#box').find('iframe').remove();
});

Here是代码的小提琴。

答案 1 :(得分:0)

$('#box iframe').click(function(){
    $('#box iframe').remove();
});

Try Online

尝试使用该脚本,希望它可以帮助您:)