0

我想禁用 iFrame 中的所有链接。

iFrame 实际上是 markItUp 文本编辑器的预览框架。我根据另一个 Stack Overflow 答案尝试了以下方法,但它对我不起作用:

$(".markItUpPreviewFrame a").live('click', function(e) {
    e.preventDefault;
    alert("You twat! This is a preview, where do you think you're going?");
    return false;
});

下面是带有markItUpiframe 的 HTML 的粗略轮廓:

<div id="markItUpMarkItUp" class="markItUp">
<div class="markItUpContainer">
    <div class="markItUpHeader"></div>
    <div class="clear"></div>
    <textarea id="markItUp" class="markItUpEditor" name="bodyText""></textarea>
    <div class="markItUpFooter"></div>
    <iframe class="markItUpPreviewFrame">
        <html>
            <head></head>
            <body>
                links in here...
            <body>
        </html>
    </iframe>
</div>

当我单击该链接时,它似乎忽略了我的 jQuery 代码(我没有收到警报)并仍然加载页面。

4

2 回答 2

0

尝试这个:

   $(document).ready(function(){
        //Make sure the iframe is done loading before you attach an event
        $(".markItUpPreviewFrame").load(function(){
            // Get the body element
            var frameBody = $(".markItUpPreviewFrame").contents().find("body");

            // Get all links inside the BODY tag
            $('a', frameBody).click(function(e){
                    //Disable all default actions       
                    e.preventDefault();
            });
        });
    });
于 2012-05-02T11:30:58.287 回答
0

您需要将点击处理程序附加到 iFrame 中的文档,这个问题的答案显示了如何做到这一点(最后一个答案)

于 2012-05-02T10:45:06.403 回答